7

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

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

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

4

2 回答 2

16

创建DirectionsRendererapi-doc时,您可以将DirectionsRendererOptionsapi-doc对象传递给构造函数,或者DirectionsRenderer.setOptions如果您想在创建后的某个时间更改选项,则可以调用该方法。

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

directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setOptions({ preserveViewport: true });
        directionsDisplay.setDirections(response);
    }
}
于 2012-05-28T13:23:49.597 回答
0

这使得错误停止显示,但路线仍然没有画好,看起来有一些数据丢失:

directionsDisplay.setOptions({ preserveViewport: true });
directionsDisplay.setDirections(response);
于 2014-12-12T02:46:43.020 回答