Wie berechnet man die Entfernung einer Polylinie in Leaflet wie geojson.io

Ich arbeite an einer Karte mit Mapbox und Leaflet und soll dem Benutzer das Zeichnen von Polygonen und das Berechnen und Anzeigen der Flächen dieses Polygons ermöglichen. Außerdem muss der Benutzer eine Polylinie zeichnen und den Abstand der Polylinie anzeigen.

Ich habe die Polygonflächenfunktion herausgefunden, kann aber nicht herausfinden, wie die Entfernung einer Polylinie berechnet wird.

Mein Code lautet wie folgt:

loadScript('https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-draw/v0.2.2/leaflet.draw.js', function(){
    loadScript('https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-geodesy/v0.1.0/leaflet-geodesy.js', function(){
        var featureGroup = L.featureGroup().addTo(map);

        var drawControl = new L.Control.Draw({
        edit: {
            featureGroup: featureGroup
        },
        draw: {
            polygon: true,
            polyline: true,
            rectangle: false,
            circle: false,
            marker: false
        }
    }).addTo(map);

    map.on('draw:created', showPolygonArea);
    map.on('draw:edited', showPolygonAreaEdited);

    function showPolygonAreaEdited(e) {
        e.layers.eachLayer(function(layer) {
            showPolygonArea({ layer: layer });
        });
    }
    function showPolygonArea(e) {
        var type = e.layerType,
        layer = e.layer;

        if (type === 'polygon') {
            featureGroup.clearLayers();
            featureGroup.addLayer(e.layer);
            e.layer.bindPopup(((LGeo.area(e.layer) / 1000000) * 0.62137).toFixed(2) + ' mi<sup>2</sup>');
            e.layer.openPopup();
        }

        if (type === 'polyline') {
            featureGroup.clearLayers();
            featureGroup.addLayer(e.layer);
            // What do I do different here to calculate the distance of the polyline?
            // Is there a method in the LGeo lib itself?
            // e.layer.bindPopup(((LGeo.area(e.layer) / 1000000) * 0.62137).toFixed(2) + ' mi<sup>2</sup>');
            e.layer.openPopup();
        }

    }
    });
});

Gibt es eine Methode in der LGeo-Bibliothek, mit der ich die Entfernung der Polylinie berechnen kann? Die Entwickler bei geogson.io haben auch eine Möglichkeit, die Entfernung zu berechnen, aber ich kann es scheinbar nicht herausfinden, wenn ich ihren Code betrachte. Ich bin kein erfahrener Javascript-Entwickler. Jede Hilfe ist willkommen. :)

Antworten auf die Frage(8)

Ihre Antwort auf die Frage