Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to override the Google Directions service zoom values?

I'm using the code below to get the route between two points:

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

It's working fine, but I don't want to change my map position and zoom level when drawing route. So when I call the code above with different latitude and longitude values, I would like my map position and zoom level to be maintained. Any idea?

like image 293
Asraf Avatar asked May 28 '12 09:05

Asraf


1 Answers

When you create the DirectionsRendererapi-doc, you can pass a DirectionsRendererOptionsapi-doc object to the constructor function or you can call the DirectionsRenderer.setOptions method if you would like to change the options at some time after creation.

You can use the preserveViewport property of the DirectionsRendererOptions object to control how the renderer will interact with the map. Setting preserveViewport to truewill leave the map display unchanged:

directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setOptions({ preserveViewport: true });
        directionsDisplay.setDirections(response);
    }
}
like image 190
Sean Mickey Avatar answered Oct 28 '22 00:10

Sean Mickey