2012-05-28 11 views
6

Ich bin unter dem Code die Strecke zwischen zwei Punkten zu erhalten:Gibt es eine Möglichkeit, die Zoom-Werte für den Dienst Google Services zu überschreiben?

directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setDirections(response); 
    } 
} 

Es funktioniert gut, aber ich will nicht meine Kartenposition und die Zoomstufe ändern, wenn Route zu ziehen. Wenn ich also den obigen Code mit unterschiedlichen Breiten- und Längenwerten aufrufen möchte, möchte ich, dass meine Kartenposition und Zoomstufe beibehalten werden. Irgendeine Idee?

Antwort

14

Wenn Sie die DirectionsRendererapi-doc erstellen, können Sie eine DirectionsRendererOptionsapi-doc Objekt an den Konstruktor-Funktion übergeben oder Sie können die DirectionsRenderer.setOptions Methode aufrufen, wenn Sie zu einem bestimmten Zeitpunkt nach der Erstellung der Optionen ändern möchten.

Sie können die preserveViewport-Eigenschaft des Objekts DirectionsRendererOptions verwenden, um zu steuern, wie der Renderer mit der Karte interagiert. Einstellen preserveViewport auf true wird die Kartenanzeige unverändert lassen:

directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setOptions({ preserveViewport: true }); 
     directionsDisplay.setDirections(response); 
    } 
} 
+0

wov .. vielen Dank Sean Mickey – Asraf

0

Dies macht den Fehler nicht mehr angezeigt werden, aber immer noch die Strecke nicht gut zeichnen, sieht aus wie es einige Daten fehlen:

directionsDisplay.setOptions({ preserveViewport: true }); 
directionsDisplay.setDirections(response);