gpt4 book ai didi

javascript - 传单测量转换的准确性

转载 作者:行者123 更新时间:2023-11-29 19:09:07 32 4
gpt4 key购买 nike

map.layerPointToLatLng(map.latLngToLayerPoint(L.latLng(40.687, -73.9035)))

结果

{lat: 40.686886382151116, lng: -73.90228271484375}

不精确度似乎高得不合理,尤其是经度。

map.getZoom()

结果

9

map.getSize()

结果

{x: 1335, y: 430}

有没有办法提高精确度?

最佳答案

如果我理解正确,您首先将 LatLng 转换为当前 map View 上的像素位置(缩放 9,无论视口(viewport)尺寸如何)。

然后您将该像素位置转换回 LatLng,并注意到与原始 LatLng 的差异。

在我看来,您只是观察了像素舍入的效果:map.latLngToLayerPoint将为您提供整数像素坐标,因此您的精度不会比像素覆盖的实际距离好多少。

在缩放 9 和纽约纬度 (40.687) 时,86 像素的比例约为 20 公里,因此每像素约为 230 米。

您报告的 2 个 LatLng 坐标之间的距离约为 103 米。因此它完全在一个像素内。

现场演示:https://jsfiddle.net/3v7hd2vx/149/ (结果打印在控制台)

您可以玩 map 缩放以查看精度的提高,因为每个像素将覆盖更小的距离(实际面积)。

关于javascript - 传单测量转换的准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40492903/

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