Leaflet 每个缩放级别的传单米到像素

Leaflet 每个缩放级别的传单米到像素,leaflet,Leaflet,我正在使用传单库创建应用程序 我有一个字段半径,其中包含以米(m)为单位的距离 我需要将此字段转换为像素,但缩放级别不同 对于缩放级别,我从8到18 我有这个函数,可以在当前的缩放级别上成功转换 function disToPixeldistance(distance){ var l2 = L.GeometryUtil.destination(map.getCenter(),90,distance); var p1 = map.latLngToContainerPoint(map.get

我正在使用传单库创建应用程序

我有一个字段
半径
,其中包含以米(m)为单位的距离

我需要将此字段转换为像素,但缩放级别不同

对于缩放级别,我从
8
18

我有这个函数,可以在当前的缩放级别上成功转换

function disToPixeldistance(distance){
  var l2 = L.GeometryUtil.destination(map.getCenter(),90,distance);
  var p1 = map.latLngToContainerPoint(map.getCenter())
  var p2 = map.latLngToContainerPoint(l2)
  return p1.distanceTo(p2)
}
但我需要传递不同的缩放级别作为附加参数,然后将它们从米转换为像素

比如:


有人知道我怎样才能做到这一点吗?提前感谢:)

map.latlngToContainerPoint(latlng)
更改为
map.project(latlng,zoom)

function disToPixeldistance(distance){
  var l2 = L.GeometryUtil.destination(map.getCenter(),90,distance);
  var p1 = map.latLngToContainerPoint(map.getCenter())
  var p2 = map.latLngToContainerPoint(l2)
  return p1.distanceTo(p2)
}
function disToPixeldistance(distance, zoomLevel)
function disToPixeldistance(distance, zoom){
  zoom = zoom || map.getZoom();
  var l2 = L.GeometryUtil.destination(map.getCenter(),90,distance);
  var p1 = map.project(map.getCenter(), zoom)
  var p2 = map.project(l2,zoom)
  return p1.distanceTo(p2)
}