Dans l'API Google Maps v2, si je voulais supprimer tous les marqueurs de carte, je pouvais simplement le faire :
map.clearOverlays();
Comment faire dans l'API de Google Maps v3 ?
En regardant le API de référence c'est pas clair pour moi.
Dans l'API Google Maps v2, si je voulais supprimer tous les marqueurs de carte, je pouvais simplement le faire :
map.clearOverlays();
Comment faire dans l'API de Google Maps v3 ?
En regardant le API de référence c'est pas clair pour moi.
Pour effacer toutes les superpositions, y compris les polys, les marqueurs, etc...
utilisez simplement :
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);}
Voici une fonction que j'ai écrite pour le faire à ma place sur une application cartographique :
function clear_Map() {
directionsDisplay = new google.maps.DirectionsRenderer();
//var chicago = new google.maps.LatLng(41.850033, -87.6500523);
var myOptions = {
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: HamptonRoads
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}
C'est la méthode utilisée par Google lui-même dans au moins un échantillon :
var markers = [];
// Clear out the old markers.
markers.forEach(function(marker) {
marker.setMap(null);
});
markers = [];
Consultez l'échantillon Google pour un exemple de code complet :
https://developers.google.com/maps/documentation/javascript/examples/places-searchbox
Pour supprimer tous les marqueurs de la carte, créez des fonctions comme celles-ci :
1.addMarker(location) : cette fonction permet d'ajouter un marqueur sur la carte.
2.clearMarkers() : cette fonction supprime tous les marqueurs de la carte, pas du tableau.
3.setMapOnAll(map) : cette fonction est utilisée pour ajouter des informations sur les marqueurs dans le tableau.
4.deleteMarkers() : cette fonction supprime tous les marqueurs du tableau en supprimant les références à ceux-ci.
// Adds a marker to the map and push to the array.
function addMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
markers.push(marker);
}
// Sets the map on all markers in the array.
function setMapOnAll(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
// Removes the markers from the map, but keeps them in the array.
function clearMarkers() {
setMapOnAll(null);
}
// Deletes all markers in the array by removing references to them.
function deleteMarkers() {
clearMarkers();
markers = [];
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
3 votes
J'ai trouvé un peu de code au lien ci-dessous, mais bon sang - c'est beaucoup de code pour simuler la précédente ligne de code dans la v2 de l'API. lootogo.com/googlemapsapi3/markerPlugin.html
2 votes
N'oubliez pas que maps 3.0 est censé être TRÈS léger afin que les appareils mobiles puissent l'utiliser avec le moins de décalage possible...
1 votes
Les solutions proposées ici semblent ne pas fonctionner à partir du 29/07/2010. J'aimerais avoir une version fonctionnelle à proposer à la place.
9 votes
La réponse la mieux notée est fausse. Regardez la source de cet exemple pour voir comment faire : google-developers.appspot.com/maps/documentation/javascript/
0 votes
Veuillez jeter un coup d'œil à cette page gmaps-utility-library.googlecode.com/svn/trunk/markermanager/
0 votes
Veuillez sélectionner une réponse.