【问题标题】:Leaflet meters to pixels per zoom level传单米到每个缩放级别的像素
【发布时间】:2021-02-09 17:59:32
【问题描述】:

我正在使用 Leaflet 库创建应用程序

我有一个字段 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)

有谁知道我怎么能做到这一点?提前谢谢你:)

【问题讨论】:

    标签: leaflet


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-02-17
      • 1970-01-01
      • 2016-07-06
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多