I'm new to LeafletJS. I have read many documents and followed examples. But I didn't have any information on how to solve a problem. I have a map and I use geoman.io tools. I draw a polygon with geoman tools. I want to click the layer and see the polygon's coordinates (GeoJSON formats). In all the examples I examined, the polygon was created in the line of code. I couldn't find any examples like this. I wonder what way should I examine
This is my code:
var map = L.map('map').setView([40.97, 29.07], 13);
var basemap = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
map.pm.addControls({
position: 'topleft',
drawCircle: true,
});
/// 09.08
function makePopupContent(e){
return `
${e.geometry.coordinates}
`;
}
function onEachFeature(feature,layer){
layer.bindPopup(makePopupContent(feature));
}
Best Answer
You can use
pm:create
map event, which is fired when feature being drawn is created. Drawn layer is passed in event processing function ase.layer
. Since this is Leaflet layer, you have to use.toGeoJSON()
method to get corresponding GeoJSON feature.When drawn layer is created, you have to attach
pm:update
event processing function to it, to update popup content if/when layer is edited.Code could then look something like this: