web-dev-qa-db-fra.com

Supprimer les directions de google map api v3

J'ai une carte Google à l'aide de l'API v3 qui obtient les directions d'un endroit à l'autre. L'application fonctionne très bien, mais la fenêtre qui donne les indications est un calque sur la carte. Je voudrais que lorsque cette fenêtre est fermée, les directions sont supprimées de la carte mais il reste d’autres marqueurs.

J'ai essayé ce qui suit:

$('#content .close').live('click', function() {
$('#content').hide();
directionDisplay = new google.maps.DirectionsRenderer();
directionDisplay.suppressMarkers = true;
directionDisplay.setMap(map);
return false;
});

Cela semble cacher la fenêtre comme prévu, mais ne fait rien en ce qui concerne la suppression des indications de la carte.

Toute aide est très appréciée.

Dave.

34
daveredfern

Vous pouvez modifier la liaison de la carte pour DirectionsRenderer en "null" pour supprimer la superposition de direction.

directionDisplay.setMap(null);
49
Josnidhin

Vous pouvez essayer cela sans perdre la référence à la carte

directionDisplay.set('directions', null);
43
Jimmy Collazos

Vous pouvez également utiliser: directionsDisplay.setDirections({routes: []});

8
bharat

Utiliser directionDisplay.setMap(null); enlèvera la superposition de rendu de toutes les directions, y compris les marqueurs. Si vous souhaitez uniquement supprimer les itinéraires en conservant les marqueurs, vous pouvez utiliser setOptions pour modifier les paramètres d'options de DirectionsRenderer pour suppressPolylines après l'initialisation. 

directionsDisplay.setOptions({
    suppressPolylines: true
  });

(voir aussi mon autre réponse similaire )

0
user2314737

Aucun de ce qui précède n'a fonctionné pour moi, voici ce dont j'avais besoin:

// Clear past routes
    if (directionsDisplay != null) {
        directionsDisplay.setMap(null);
        directionsDisplay = null;
    }
0
Friendly Code

Cela devrait se lire comme suit:

directionDisplay.setMap(null);
0
webewitch