gpt4 book ai didi

google-maps - 在 DirectionService.route 之后更改缩放?

转载 作者:行者123 更新时间:2023-12-02 23:14:13 28 4
gpt4 key购买 nike

我的代码:

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

map.setZoom(2);
}
});

但是 setZoom(2) 不起作用。似乎 .setDirections 是异步的。追踪路线后无法设置缩放?

也尝试过:

google.maps.event.addListener(directionsDisplay, 'directions_changed', function () {
map.setZoom(2);
});

但是 map 不会缩放...

最佳答案

DirectionsService 不会更改缩放,而是 DirectionsDisplay(又名 DirectionsRenderer)会更改。

DirectionsRenderer 有一个选项 preserveViewport,如果包含该选项并将其设置为 true,将阻止它更改 map 的缩放(和中心)。

如果你想根据directionsService的结果设置中心,请参阅我对这个类似问题的回答:

google map zoom after directions

如果您希望 DirectionsRenderer 设置中心,请使用 DirectionsResult 的边界。

您还可以监听 Directions_changed 事件,并在其触发时设置缩放,不确定这是否有效。

example from the documentation using the zoom_changed event

关于google-maps - 在 DirectionService.route 之后更改缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12641056/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com