我正在使用传单库创建一个应用程序
我有一个字段radius
,它包含以米(m(为单位的距离。
const radius = 1000;
我需要将此字段转换为像素,但在不同的缩放级别
对于缩放级别,我从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)
}
但我需要传递不同的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)
}