gpt4 book ai didi

javascript - 传单在缩放级别计算每像素米数

转载 作者:可可西里 更新时间:2023-11-01 02:51:38 25 4
gpt4 key购买 nike

我正在尝试确定一种方法来计算 Leaflet 中给定缩放级别和地理中心点下 1 个像素表示的米数。谁能指导我涉及到的数学问题,或者传单中是否有开箱即用的方法?我在那里找不到太多东西。

最佳答案

您可以使用 containerPointToLatLng L.Map 的转换函数,用于获取给定像素坐标的 latLng 坐标。如果你取第一个像素和下一个像素,你可以使用 distanceTo L.LatLng 的实用方法来计算它们之间的距离(以米为单位)。看下面代码(假设map是L.Map的一个实例):

var centerLatLng = map.getCenter(); // get map center
var pointC = map.latLngToContainerPoint(centerLatLng); // convert to containerpoint (pixels)
var pointX = [pointC.x + 1, pointC.y]; // add one pixel to x
var pointY = [pointC.x, pointC.y + 1]; // add one pixel to y

// convert containerpoints to latlng's
var latLngC = map.containerPointToLatLng(pointC);
var latLngX = map.containerPointToLatLng(pointX);
var latLngY = map.containerPointToLatLng(pointY);

var distanceX = latLngC.distanceTo(latLngX); // calculate distance between c and x (latitude)
var distanceY = latLngC.distanceTo(latLngY); // calculate distance between c and y (longitude)

这应该行得通,感谢 Jarek Piórkowski 在编辑前指出我的错误。

关于javascript - 传单在缩放级别计算每像素米数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27545098/

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