gpt4 book ai didi

google-maps-api-3 - 如何在 Leaflet JS 中使用来自 Google Geocoder 的 Viewport?

转载 作者:行者123 更新时间:2023-12-05 01:03:13 25 4
gpt4 key购买 nike

我已成功设置 Leaflet JS map ,该 map 使用 Google map 地理编码器平移到地理编码地址。但我也尝试使用“map.fitBounds”从视口(viewport)获取适当的缩放级别,但它似乎不起作用。我使用的代码是:

map.panTo([results[0].geometry.location.lat(),results[0].geometry.location.lng()]);
map.fitBounds([[results[0].geometry.viewport.southwest.lat(), results[0].geometry.viewport.southwest.lng()],[results[0].geometry.viewport.northeast.lat(), results[0].geometry.viewport.northeast.lng()]]);

参见此处的示例:http://chrismccreath.hostzi.com/geocode_test.html

如何修复它,使其缩放到 google maps geocoder 结果返回的适当视口(viewport)?

最佳答案

没有像 results[0].geometry.viewport.southwest/northeast 之类的属性(我猜你在控制台内看网络流量,但你看到的不会有直接传递给回调函数)。要获得西南/东北,请使用 google.maps.LatLngBoundsgetSouthWest()getNorthEast() 方法。

results[0].geometry.viewport 是 google.maps.LatLngBounds-object,但不能直接在 Leaflet 中使用。

您必须将其“转换”为数组或 Leaflet.LatLngBounds-object。

这应该可行:

map.fitBounds([
[results[0].geometry.viewport.getSouthWest().lat(),
results[0].geometry.viewport.getSouthWest().lng()],
[results[0].geometry.viewport.getNorthEast().lat(),
results[0].geometry.viewport.getNorthEast().lng()]
]);

关于google-maps-api-3 - 如何在 Leaflet JS 中使用来自 Google Geocoder 的 Viewport?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143600/

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