Je souhaite supprimer un marqueur individuel de la carte Google. J'utilise l'API de la version 3. Je sais comment je peux supprimer tous les marqueurs en maintenant un markerArray
et en définissant la carte null pour tous.Suppression d'un marqueur individuel de Google Map - API v3
Pour supprimer un par un, je pense à faire une combinaison de paires de valeurs clés. Alors que je donne une clé et enlever le marqueur particulier. J'ai besoin d'aide pour ça.
Voici le code, que j'utilise pour marqueur dram:
function geoCodeAddresses(data) {
var markerInfo = {addressKey: '', marker:''};
for (var i = 0; i < data.length; i++) {
myLocation = data[i];
geocoder.geocode({"address":myLocation}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({map:map, position:results[0].geometry.location});
// checkpoint A
alert(myLocation);
/*
markerInfo.addressKey = myLocation;
markerInfo.marker = marker;*/
//mArray.push(markerInfo);
}
});
}
}
Je chercherai addresskey
et retirez le marqueur de mArray
. Mais je reçois la dernière valeur à chaque fois dans la méthode de rappel de géocodage. Et un objet a été poussé à chaque fois. la var myLocation me donne toujours l'adresse du dernier index de mon tableau. Si je l'alerte au point de contrôle A.
Mon approche est-elle correcte?
Oui avec la portée des variables et la fermeture il y avait problème. –