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.
Vous pouvez modifier la liaison de la carte pour DirectionsRenderer en "null" pour supprimer la superposition de direction.
directionDisplay.setMap(null);
Vous pouvez essayer cela sans perdre la référence à la carte
directionDisplay.set('directions', null);
Vous pouvez également utiliser: directionsDisplay.setDirections({routes: []});
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 )
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;
}
Cela devrait se lire comme suit:
directionDisplay.setMap(null);