传单地图宽度(米)

ced*_*r01 3 size dictionary width leaflet

我想要一个在我的传单地图上创建一个圆圈的按钮。圆应放置在地图中心,直径应为当前显示区域宽度的75%。到达lat中心lgn很容易。但我不知道地图的 75% 是如何以为半径的。

我尝试了该方法,但它返回以pxgetsize为单位的宽度。但我需要以米为单位。有插件吗?或者是否可以使用缩放级别和 getsize 中的像素来计算它?

Iva*_*hez 5

获取地图边界(这是一个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
Run Code Online (Sandbox Code Playgroud)

还要记住,Leaflet 的L.Circle工作单位为米(或 CRS 单位),L.CircleMarker工作单位为像素。

  • L.latlng 需要更改为 L.latLng。尝试编辑但更改少于 6 个字符 (2认同)