传单以米为单位缩放到每个缩放级别的像素



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

我有一个字段radius,它包含以米(m(为单位的距离。

const radius = 1000;

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

对于缩放级别,我从818 获取值

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

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)
}

但我需要传递不同的zoom levels作为附加参数,然后将它们从米转换为像素

类似:

function disToPixeldistance(distance, zoomLevel)

有人知道我是怎么做到的吗?提前感谢:(

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

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)
}

最新更新