Remove directions from google map api v3
I have a google map using API v3 which gets directions from one location to another. The app works great but the window which gets the directions is an overlay on the map. I'd like it so when this window is closed directions are removed from the map but other markers remain.
I have tried the following:
$('#content .close').live('click', function() {
$('#content').hide();
directionDisplay = new google.maps.DirectionsRende开发者_如何学Pythonrer();
directionDisplay.suppressMarkers = true;
directionDisplay.setMap(map);
return false;
});
This seems to hide the window as expected but doesn't do anything regards with removing directions from the map.
Any help is much appreciated.
Dave.
You can change the map binding for the DirectionsRenderer to "null" to remove the direction overlay
directionDisplay.setMap(null);
You can try this, and not lose reference to the map
directionDisplay.set('directions', null);
You can also use :
directionsDisplay.setDirections({routes: []});
That should read as:
directionDisplay.setMap(null);
None of the above worked for me, this is what I needed:
// Clear past routes
if (directionsDisplay != null) {
directionsDisplay.setMap(null);
directionsDisplay = null;
}
Using directionDisplay.setMap(null);
will remove the whole directions renderer overlay, including markers. If you just want to remove the routes keeping the markers you can use setOptions
to change the options settings of DirectionsRenderer for suppressPolylines
after initialization
directionsDisplay.setOptions({
suppressPolylines: true
});
(see also my other similar answer)
精彩评论