Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传单测量转换的精确性_Javascript_Leaflet - Fatal编程技术网

Javascript 传单测量转换的精确性

Javascript 传单测量转换的精确性,javascript,leaflet,Javascript,Leaflet,导致 {拉丁美洲:40.686886382151116,液化天然气:-73.90228271484375} 不舒适度似乎过高,尤其是经度 map.layerPointToLatLng(map.latLngToLayerPoint(L.latLng(40.687, -73.9035))) 导致 九, 导致 {x:1335,y:430} 有没有提高精确度的方法?如果我理解正确,请首先将板条转换为当前地图视图上的像素位置(缩放9,无论视图端口尺寸如何) 然后将该像素位置转换回LatLng,并注意到与

导致

{拉丁美洲:40.686886382151116,液化天然气:-73.90228271484375}

不舒适度似乎过高,尤其是经度

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

九,

导致

{x:1335,y:430}


有没有提高精确度的方法?

如果我理解正确,请首先将板条转换为当前地图视图上的像素位置(缩放9,无论视图端口尺寸如何)

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

在我看来,你只是观察了像素舍入的效果:它会给你整数像素坐标,因此你的精度不会比一个像素覆盖的实际距离更好

在zoom 9和纽约纬度(40.687),86px的刻度约为20公里,因此每像素约为230米

您报告的两个板条坐标之间的距离约为103m。因此,它很好地位于单个像素内

现场演示:(结果在控制台中打印)

您可以使用“地图缩放”来查看精度的提高,因为每个像素将覆盖更小的距离(实际上是面积)

map.getZoom()
map.getSize()