Google Maps faites glisser et dragend des écouteurs d'événement ne fonctionnera pas si le marqueur créé par écouteur d'événement clic
Juste un noob en essayant d'apprendre, je suis sorti avec un problème que lorsque je tente de créer un marqueur avec l'événement de clic, glisser et dragend des écouteurs d'événement ne fonctionne pas. Considérant que lors de sa création par défaut de ces travaux.
Voici ce que j'ai essayé jusqu'à présent.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"> </script>
<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(22,79);
var myOptions = {
zoom: 5,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Default Marker',
draggable:true
});
google.maps.event.addListener(map,'click',function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map,
title: 'Click Generated Marker',
draggable:true
});
}
);
google.maps.event.addListener(
marker,
'drag',
function(event) {
document.getElementById('lat').value = this.position.lat();
document.getElementById('lng').value = this.position.lng();
//alert('drag');
});
google.maps.event.addListener(marker,'dragend',function(event) {
document.getElementById('lat').value = this.position.lat();
document.getElementById('lng').value = this.position.lng();
alert('Drag end');
});
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:500px;height:500px;"></div>
Lat: <input type="text" id="lat"><br>
Lng: <input type="text" id="lng">
</body></html>
Vous devez vous connecter pour publier un commentaire.
Ce que vous voulez probablement faire est de changer la référence dans vos écouteurs d'événement, d' ce à l'événement lui-même.
Ensuite, vous devez ajouter distinct des écouteurs d'événement pour votre nouveau repère en même temps que vous la créez. Je vous suggère simplement d'avoir une fonction qui prend en entrée des arguments en faveur de la latlng, le titre, et tout ce dont vous avez besoin. Et puis, il crée le marqueur et tous les écouteurs d'événement nécessaire.
Essayez de créer le repère de ce genre .