J'essaie de supprimer un marqueur qui a été initialisé comme ceci:
marker = new google.maps.Marker({
position: latLng,
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
title: 'Marker 1',
icon: redPin
});
google.maps.event.addListener(marker, "click", function() {
showMarkerDialog(marker.position, "marker");
});
google.maps.event.addListener(marker, "dblclick", function() {
// Add a alert: Are you sure you want to remove this marker?
map.removeOverlay(marker);
});
Tout fonctionne parfaitement sauf que lorsque je double-clique dessus pour supprimer ce que j'obtiens sur la console d'erreur, c'est ceci:
TypeError: l'objet # n'a pas de méthode 'removeOverlay'
Qu'est-ce que je fais mal?
Il n'y a pas de fonction removeOverlay sur l'objet map. On dirait que vous n'avez qu'un seul marqueur, pourquoi utiliser un tableau? Changez juste ceci:
google.maps.event.addListener(marker, "dblclick", function() {
map.removeOverlay(marker);
});
pour ça:
marker.addListener("dblclick", function() {
marker.setMap(null);
});