我正在使用传单插件,计算折线两点之间的距离或联合/多行的整个距离
工作: 我设置脚本来测量使用图像作为地图的距离(
)脚本
function showPolygonArea(e) {
featureGroup.addLayer(e.layer);
var tempLatLng = null;
var totalDistance = 0.00000;
$.each(e.layer._latlngs, function (i, latlng) {
if (tempLatLng == null) {
tempLatLng = latlng;
return;
}
//transformation experiment
totalDistance += tempLatLng.distanceTo(latlng);
tempLatLng = latlng;
userDistanceVal = totalDistance / 100000;
});
e.layer.bindPopup((totalDistance / 100000).toFixed(2) + ' meters');
e.layer.openPopup();
}
问题:
这里(1)我想以像素为单位返回totalDistance而不是 米....
(2)在这里,我如何使用layerPoint或containerPoint功能? (因为我 我正在努力使用理解)
我对javascript的经验很少,如果做或者问一些愚蠢的事,请忽略...... 如果可以这样做,请帮助....
任何形式的参考或帮助将不胜感激。谢谢您的时间
答案 0 :(得分:1)
To(1):您可以使用map.crs.latLngToPoint(latlng, map.getZoom());
之类的内容来获取latlng
的像素点表示 - 指向当前缩放级别。