有没有办法覆盖Google Directions服务缩放值?

时间:2012-05-28 09:23:00

标签: javascript google-maps-api-3 map-directions

我正在使用下面的代码来获取两点之间的路线:

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

它工作正常,但我不想在绘制路线时更改我的地图位置和缩放级别。因此,当我使用不同的纬度和经度值调用上面的代码时,我希望保持我的地图位置和缩放级别。 任何的想法?

2 个答案:

答案 0 :(得分:15)

创建DirectionsRenderer api-doc时,您可以将DirectionsRendererOptions api-doc对象传递给构造函数,也可以调用DirectionsRenderer.setOptions方法想在创建后的某个时候更改选项。

您可以使用preserveViewport对象的DirectionsRendererOptions属性来控制渲染器与地图的交互方式。将preserveViewport设置为true会使地图显示保持不变:

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

答案 1 :(得分:0)

这会使错误停止显示,但路线仍然不能很好地绘制,看起来有些数据丢失了:

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