I am working on a map with Mapbox and Leaflet, and I must allow the user to draw polygons, calculate and show that it is a polygon, and I must also allow the user to draw a polyline and show the distance from the polyline.
I figured out the function of the polygon area, but I canβt figure out how to calculate the distance from the polyline.
My code is as follows:
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);
Is there a method in LGeo lib itself that will help me calculate the distance from the polyline? The geogson.io developers also have a way to calculate the distance, but I can't figure out what it is looking at their code. I am not an experienced Javascript developer. Any help is appreciated. :)
Rohan source share