gpt4 book ai didi

geocoding - leaflet.js 计算从中心到边界的半径

转载 作者:行者123 更新时间:2023-12-03 06:56:54 24 4
gpt4 key购买 nike

我正在从使用 google map 切换到 leaflet.js。我在谷歌地图中做了一件事,但似乎在 leaflet.js 中找不到,那就是计算从 map 中心(即搜索位置)到 map 两侧的半径。由于您可以放大和缩小,人们所看到的区域可能会发生显着变化。下面的代码显示了我使用谷歌地图执行此操作所需的几行代码。有人能指出我关于 leaflet.js 的正确方向吗?

  // viewport stores the recommended viewport for the returned result.
// (LatLngBounds)
viewportLatLngBounds = zip.get("location").geometry.viewport;

this.map.fitBounds(viewportLatLngBounds);

this.collection.latitude = viewportLatLngBounds.getCenter().lat();
this.collection.longitude = viewportLatLngBounds.getCenter().lng();

// calculate radius
// get distance..
// from (lat of NE corner), (lng of center)
// to (lat of center), (lng of center)
topCenterLatLng = new google.maps.LatLng(viewportLatLngBounds.getNorthEast().lat(), viewportLatLngBounds.getCenter().lng());

metersRadius = google.maps.geometry.spherical.computeDistanceBetween(viewportLatLngBounds.getCenter(), topCenterLatLng);

this.collection.radius = metersRadius / 1000;
this.collection.radiusUnits = "km";

最佳答案

供将来引用:

getMapRadiusKM: function() {
var mapBoundNorthEast = map.getBounds().getNorthEast();
var mapDistance = mapBoundNorthEast.distanceTo(map.getCenter());
return mapDistance/1000;
},

关于geocoding - leaflet.js 计算从中心到边界的半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13855615/

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