Ich benutze renderDirections und requestDirections-Methoden, um mehrere in einer Schleife aufgerufene Routen zu erstellen, jetzt möchte ich sie vor dem Aufruf dieser Schleife löschen, da selbst wenn keine Routendaten vorhanden sind, diese der früheren Daten angezeigt werden. PS: Die Methoden werden nicht aufgerufen, wenn keine Daten gibt, aber es zeigt vorherige RoutenWie entferne ich alle Routen in Google Map?
Unten ist mein Beispielcode Routen zu setzen:
function renderDirections(result, Driver) {
var directionsRenderer = new google.maps.DirectionsRenderer({ suppressMarkers: false,preserveViewport: true, polylineOptions: { strokeColor: colors[cur] } });
directionsRenderer.setMap(map);
directionsRenderer.setDirections(result);
var leg = result.routes[0].legs[0];
makeMarker(leg.start_location, Driver);
makeMarker(leg.end_location, Driver);
cur++;
}
Funktion requestDirections (Start, Ende, wps, Fahrer) {
var directionsService = new google.maps.DirectionsService;
directionsService.route(
{
origin: start,
destination: end,
waypoints: wps,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function (result) {
renderDirections(result, Driver);
});
}
directionsRenderer.setMap (null) zu schaffen; –
funktioniert nicht beim Löschen alter Routen – ankita25
Sie erstellen jedes Mal eine neue Renderer-Instanz, wenn Sie 'renderDirections()' aufrufen. Setzen Sie die Initialisierung des Renderers auf globaler Ebene und behalten Sie nur eine Instanz von 'google.maps.DirectionsRenderer()'. In diesem Fall 'directionsRenderer.setMap (null); 'sollte funktionieren. – xomena