web-dev-qa-db-fra.com

Google Maps API v3 - Comment effacer les superpositions?

Dans Google Maps API v2, j'utilisais map.clearOverlays() pour supprimer le marqueur et le dessiner à nouveau.

Comment puis-je faire cela en utilisant Google Maps API v3?

Merci

22
Natim

Voir ici pour plus de détails sur les différentes options qui s'offrent à vous, mais vous devez maintenant parcourir les marqueurs et les supprimer individuellement. Votre code devrait ressembler à ceci:

var markers = [];

function clearOverlays() {
 while(markers.length) { markers.pop().setMap(null); }
  markers.length = 0;
}

markers.Push(marker);
google.maps.event.addListener(marker,"click",function(){});
13
Paul Owens

J'ai trouvé une autre solution et cela fonctionne très bien.

gmap.overlayMapTypes.setAt( 0, null);

tandis que gmap est votre objet de carte

2
Karim Samir

Vous pouvez consulter la documentation de Google Maps, qui présente une méthode simple deleteOverLays http://code.google.com/apis/maps/documentation/javascript/overlays.html

// Deletes all markers in the array by removing references to them
function deleteOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(null);
    }
    markersArray.length = 0;
  }
}
1
Burak Dede

Celui-ci, ça va? Je ne veux pas utiliser le .setMap (null), car je ne connais pas le meilleur moyen de lancer à nouveau polyShape.

polyShape = new google.maps.Polygon(
    {
        strokeColor     : '#000000',
        strokeOpacity   : 0.3,
        strokeWeight    : 1,
        fillColor       : "#000000",
        fillOpacity     : 0.26,
        geodesic        : true
    });

Ensuite, parcourez le chemin pour le supprimer.

var path = new google.maps.MVCArray;

/**
 * Delete all points inside Map
 */
function clearMap()
{
    //clear markers
    for (var i = 0; i < markers.length; i++)
    {
        markers[i].setMap(null);

    }
    markers = [];

    //clear polygon, still finding more elegant way
    while (polyShape.getPath().length)
    {
        path.removeAt(0);
    }
}
1
Prabowo Murti

Vous pouvez trouver un bon exemple fourni par Google ici: http://code.google.com/p/gmaps-samples-v3/source/browse/trunk/clear-all-overlays/clear-all- overlays.html

Fondamentalement, l'idée est la suppression

  • Marqueurs 
  • Des polygones 
  • et polylignes séparément
0
k_zoltan