有没有一种方法可以覆盖谷歌地图方向服务的缩放值?

7
我正在使用以下代码获取两个点之间的路线:
directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
    }
}

目前代码可以正常工作,但我不想在绘制路线时改变地图位置和缩放级别。因此,当我使用不同的纬度和经度值调用上述代码时,希望地图位置和缩放级别保持不变。有什么好的想法吗?

2个回答

16
创建DirectionsRendererapi-doc时,您可以将DirectionsRendererOptionsapi-doc对象传递给构造函数,或者在创建后的某个时间调用DirectionsRenderer.setOptions方法更改选项。 您可以使用DirectionsRendererOptions对象的preserveViewport属性来控制渲染器与地图的交互方式。将preserveViewport设置为true将保留地图显示不变:
directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setOptions({ preserveViewport: true });
        directionsDisplay.setDirections(response);
    }
}

0

这样可以停止错误的显示,但是路由仍然无法正确绘制,看起来似乎缺少一些数据:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接