【发布时间】:2021-02-08 01:06:15
【问题描述】:
我正在使用传单创建应用程序
我已经启动并运行了传单地图,并且有一个 Geoserver 服务可以返回地图上显示的点。
我有一个附加字段,即我在地图上的点之间的距离,以米为单位?
我的问题是如何将其转换为像素?是否有任何传单功能或任何东西?
【问题讨论】:
标签: leaflet leaflet.draw
我正在使用传单创建应用程序
我已经启动并运行了传单地图,并且有一个 Geoserver 服务可以返回地图上显示的点。
我有一个附加字段,即我在地图上的点之间的距离,以米为单位?
我的问题是如何将其转换为像素?是否有任何传单功能或任何东西?
【问题讨论】:
标签: leaflet leaflet.draw
您可以将此函数与L.GeometryUtil 库一起使用。
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)
}
但想想每次缩放时像素距离都在变化
【讨论】:
zoomend 事件:map.on('zoomend',function recalcDistance(){ //... your code with the disToPixeldistance() call })。如果可行,请接受答案