我想要一个在我的传单地图上创建一个圆圈的按钮。
圆圈应放在地图中心,直径应为当前显示区域宽度的75%。
获取中心的lat
和lgn
非常简单。但我不知道75%的地图如何以米为半径。
我尝试了方法getsize
,但它返回 px 中的宽度。但我需要米。
有插件吗?或者是否可以使用zoomlevel和来自getsize的Pixel计算它?
答案 0 :(得分:2)
获取地图边界(这是LatLngBounds
),获取这些边界的东经(或西经),然后使用L.LatLng.distanceTo
获取数字,例如:
var center = map.getCenter();
var eastBound = map.getBounds().getEast();
var centerEast = L.latlng(center.lat, eastBound);
var dist = center.distanceTo(centerEast);
var radius = dist * 0.75
还要记住,Leaflet的L.Circle
以米为单位(或CRS单位),L.CircleMarker
以像素为单位。