Удаление внутренней координаты с карты

Я создал многоугольник из ломаной линии, используя API-интерфейс google geometry (ниже приведен код)

    var plPath = [{"lat":12.9716,"lng":77.59455},{"lat":12.97188,"lng":77.59461},{"lat":12.97188,"lng":77.59461},{"lat":12.97201,"lng":77.59425},{"lat":12.97211,"lng":77.59405},{"lat":12.97211,"lng":77.59405},{"lat":12.97202,"lng":77.59397},{"lat":12.97211,"lng":77.59394},{"lat":12.97218,"lng":77.59399},{"lat":12.97239,"lng":77.59418},{"lat":12.9733,"lng":77.59491}];
    var pgPath = [];
    var sp = google.maps.geometry.spherical;
    for (let _i=1; _i<plPath.length; _i++) {
        var coordA = new google.maps.LatLng(plPath[(_i-1)]);
        var coordB = new google.maps.LatLng(plPath[_i]);
        var headingB = sp.computeHeading(coordA, coordB);
        var coordB1 = sp.computeOffset(coordB, 50, (headingB+90));
        var coordB2 = sp.computeOffset(coordB, 50, (headingB-90));
        if ( _i == 1 ) {
            var coordA1 = sp.computeOffset(coordA, 50, (headingB+90));
            var coordA2 = sp.computeOffset(coordA, 50, (headingB-90));
            pgPath.push(coordA2);
            pgPath.unshift(coordA1);
        }
        pgPath.push(coordB2);
        pgPath.unshift(coordB1);
    }
    pgPath.push(pgPath[0]);

Но это создать что-то вроде ниже

образ

Как я могу удалить внутренние координаты и использовать только внешнюю линию в качестве многоугольника. Я новичок в геометрии и координатах, если вы также можете предложить какую-то ссылку, чтобы понять все связанные вещи, которые будут любезны с вашей стороны. Спасибо

0 ответов

Другие вопросы по тегам