Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Leaflet L.在地图框中圈出错误的半径_Leaflet_Mapbox - Fatal编程技术网

Leaflet L.在地图框中圈出错误的半径

Leaflet L.在地图框中圈出错误的半径,leaflet,mapbox,Leaflet,Mapbox,我画了两个L圆。一个半径为1233685,另一个半径为1505615。但由于某种原因,第一个圆圈比第二个大。为什么会这样? 我取了两个圆圈对象的日志,如下所示: 第一圈: _货柜:g _inithookscaled:true _latlng:o.latlng _传单事件:对象 _单张编号:12437 _梅拉迪乌斯:1233685 _地图:o.Class.extend.e _路径:路径 _点:o点 _弹出窗口:o.Class.extend.e _popupHandlersAdded:正确 _半径:

我画了两个L圆。一个半径为1233685,另一个半径为1505615。但由于某种原因,第一个圆圈比第二个大。为什么会这样? 我取了两个圆圈对象的日志,如下所示: 第一圈:

_货柜:g _inithookscaled:true _latlng:o.latlng _传单事件:对象 _单张编号:12437 _梅拉迪乌斯:1233685 _地图:o.Class.extend.e _路径:路径 _点:o点 _弹出窗口:o.Class.extend.e _popupHandlersAdded:正确 _半径:63 选项:对象 proto:o.Class.extend.i

第二圈:

_货柜:g _inithookscaled:true _latlng:o.latlng _传单事件:对象 _单张编号:12438 _姆拉迪乌斯:1505615 _地图:o.Class.extend.e _路径:路径 _点:o点 _弹出窗口:o.Class.extend.e _popupHandlersAdded:正确 _半径:91 选项:对象 proto:o.Class.extend.i

正如你们所看到的,在两种情况下,mRadius都是很好的,但对于mRadius较小的圆,还有另一个属性半径的值较大。这是因为我得到了错误的圆半径。
我使用的是mapbox 2.2.1

如果你的圆必须代表地球上的距离,那么大小调整就是你应该寻找的行为

现在,如果您真的希望大小与纬度无关(无论您的原因为何),请参阅以下帖子:


你的两个圆圈在不同的纬度吗?半径以米为单位指定,由投影根据纬度进行调整(默认CRS越高,每米像素越多)。是的。它们位于不同的纬度。我该怎么做才能使所有纬度的每米像素都相同?或者我们可以提供像素为单位的半径?我知道有一个L.circleMarker,但如果我们使用它,半径在放大或缩小时不会改变。感谢ghybs,它帮助了很多。因为我使用圆来比较一些属性的值,所以我需要它独立于lat/long。