Проектът My Leaflet позволява на потребителите да рисуват фигури (линии, правоъгълници и многоъгълници). Потребителят може да кликне върху формите, за да получи техните статистически данни (площ, периметър и т.н.).
Опитах събитие за щракване върху моя FeatureGroup(), където се добавят всички фигури, които съм начертал. Не съм сигурен дали това е най-добрият подход. След това при щракване се извиква функция, приемаща събитие. Типът слой се извежда от обекта на събитието.
//Handlers for when drawn shapes are clicked
editableLayers.on('click', onLayerClick);
function onLayerClick(e)
{
let type = e.layerType,
layer = e.layer;
if (type === 'polygon') {
polygons.push(e.layer);
let area = L.GeometryUtil.geodesicArea(layer.getLatLngs()[0]);
console.log("New polygon area: " + area);
}
if (type === 'rectangle') {
rectangles.push(e.layer);
let area = L.GeometryUtil.geodesicArea(layer.getLatLngs()[0]);
console.log("New rectangle area: " + area);
}
}
Типовият обект връща undefined, а слойният обект връща куп параметри, без да прави препратка към типа форма. Поради това не мога да направя извод за типа форма и да извърша правилните изчисления, за да получа техните статистики.