如何计算传单中的像素

时间:2015-08-24 06:48:29

标签: javascript leaflet dc.leaflet.js

我正在使用传单插件,计算折线两点之间的距离或联合/多行的整个距离

工作: 我设置脚本来测量使用图像作为地图的距离(

脚本

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的经验很少,如果做或者问一些愚蠢的事,请忽略...... 如果可以这样做,请帮助....

任何形式的参考或帮助将不胜感激。谢谢您的时间

1 个答案:

答案 0 :(得分:1)

To(1):您可以使用map.crs.latLngToPoint(latlng, map.getZoom());之类的内容来获取latlng的像素点表示 - 指向当前缩放级别。