Ich kenne keine Leaflet-Plugins, die das für Sie erreichen können. Der Algorithmus, um dies zu tun, ist jedoch nicht besonders komplex. Überprüfen Sie diese Website: http://www.mathopenref.com/coordpolygonarea2.html, die den Algorithmus enthält und viele visuelle Beispiele, wie der Algorithmus tatsächlich funktioniert.
function polygonArea(X, Y, numPoints)
{
area = 0; // Akkumuliert Fläche in der Schleife
j = numPoints-1; // Der letzte Vertex ist der 'vorherige' zum ersten
for (i=0; i
``
Um diesen Algorithmus mit Leaflet-Polygonen zu verwenden, sollten Sie über das Polygon polygon.getLatLngs()
iterieren, um alle Breiten-/Längengrade zu erhalten. Legen Sie sie in zwei separate Arrays - eines für X-Koordinaten und eines für Y-Koordinaten. Verwenden Sie diese als Parameter für die obige Funktion, und für numPoints
geben Sie polygon.getLatLngs().length
.
Wie auf der Webseite steht, spielt es keine Rolle, wo auf dem Polygonpfad dies beginnt. Wenn Sie jedoch in einer gegen den Uhrzeigersinn geordneten Reihenfolge beginnen, wird Ihr Ergebnis negativ sein. Sie können alle Fälle behandeln, indem Sie einfach den Betrag von dem erhalten, was diese Funktion zurückgibt.
``