Google Maps JavaScript API v3 supprimer des marqueurs
J'ai regardé un grand nombre de "similaires" des questions et aucune des solutions/réponses semblent fonctionner pour moi, donc nous y voilà: je suis de la génération d'un simple Google Map avec un seul marqueur "onload" j'ai ensuite une liste de menu un peu comme ce
<ul>
<li class="toggle" id="beaches">Item</li>
<li class="toggle" id="towns">Item</li>
<ul>
que sur cliquez sur les utilisations de ces tableaux de marqueur de remplir la carte
jQuery -
$(".toggle").click(function(){
setMarkers(map,$(this).attr('id'));
});
var beaches = [
['Beach 1',38.285827, 20.611038, 4],
['Beach 2', 38.304958,20.604515, 5],
['Beach 3',38.301691,20.597649, 3]
];
var towns = [
['Town 1',38.343003, 20.535679, 4],
['Town 2',38.339334,20.545807, 5]
];
Ma population de fonction ressemble à ceci:
function setMarkers(map, locations) {
for (var i = 0; i < locations.length; i++) {
var newmarker = locations[i];
var myLatLng = new google.maps.LatLng(newmarker[1], newmarker[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: newmarker[0],
zIndex: newmarker[3]
});
}
Mais ce dont j'ai besoin/envie de le faire est clair tous marqueurs d'abord avant d'en ajouter de nouveaux. Des Suggestions s'il vous plaît Merci
OriginalL'auteur Russell Parrott | 2012-05-17
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de stocker des marqueurs, et d'appeler
setMap(null)
pour chaque marqueur à supprimer de la carte.Vous pouvez essayer quelque chose comme ceci:
OriginalL'auteur Engineer
Vous pourriez peut-être utiliser une fonction qui vide le tableau qui contient les marqueurs:
OriginalL'auteur lfergon
Vous devez vous assurer que vos marqueurs sont stockées dans un tableau et ensuite retirer faire quelque chose comme
De sorte que votre code sera maintenant
OriginalL'auteur Shaun Hare
Vous pouvez définir un réseau mondial de marqueurs et de compensation des personnes en appelant
setMap(null)
avant de re-remplir la carte:OriginalL'auteur Alex