Получить площадь полигона, используя ЗДЕСЬ карты - PullRequest
0 голосов
/ 22 февраля 2019

Я использую ЗДЕСЬ карты и хотел бы узнать площадь многоугольника, нарисованного на карте.Есть ли способ узнать это?Я ничего не нашел в документации.

1 Ответ

0 голосов
/ 28 февраля 2019

В JS API нет функции, но вы можете легко сделать это самостоятельно.Ниже приведен пример функции для вычисления площади (в квадратных метрах) многоугольной области:

function computeArea(latLngs) {
    var pointsCount = latLngs.length,
            area = 0.0,
            d2r = Math.PI / 180.0,
            radius = 6378137.0,
            p1, p2;

    if (pointsCount <= 2)
        return 0;

    for (var i = 0; i < pointsCount; i++) {
        p1 = latLngs[i];
        p2 = latLngs[(i + 1) % pointsCount];
        area += ((p2.lng() - p1.lng()) * d2r) *
                (2 + Math.sin(p1.lat() * d2r) + Math.sin(p2.lat() * d2r));
    }
    area = area * radius * radius / 2.0;
    return Math.abs(area);
}
...