我在传单地图中有很多标记。我需要能够绘制一个圆圈并仅显示该圆圈中包含的标记。
我正在计算从标记到圆心的距离,如果它小于圆半径,我会添加标记:
layer.getLatLng().distanceTo(marker.getLatLng()) < layer.getRadius();
使用此公式添加了一些不在圆圈内的标记。经过测试和研究,我发现这是因为地图投影的并发症。 https://github.com/Leaflet/Leaflet/issues/4917
我尝试使用传单大地测量库替换常规圆圈,使用&#34; geodetic&#34;一个,但是我没有一个圆圈,我可以很容易地编辑它移动它的中心并改变半径但是有一个多边形的多边形是不可能像圆圈一样处理的。
如果可能的话,我想做的是坚持简单的投影圆,但找到一个公式来计算标记是否在此投影中。我试着考虑lat / lng网格的几何形状,并根据中心纬度调整圆半径,但是我还没有找到合适的公式,并且我不断得到靠近圆圈的标记但仍然在它之外。