?>

способ проверить, существует ли точка внутри многоугольника в Google Maps v3 (JavaScript). Я искал повсюду, и единственные решения, которые я нашел до сих пор, были связаны с получением границ многоугольника, но показанный код, кажется, просто создает прямоугольник и продолжает расширять его площадь поверхности, чтобы включить все соответствующие точки.

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

РЕДАКТИРОВАТЬ Исходя из ответа ниже, я попытался реализовать пример кода, используя один из моих существующих полигонов, но он просто говорит, что он не определен, и я не могу понять, почему.

Вот моя декларация:

myCoordinates = [
    new google.maps.LatLng(0.457301,-0.597382),
    new google.maps.LatLng(0.475153,-0.569916),
    new google.maps.LatLng(0.494379,-0.563049),
    new google.maps.LatLng(0.506738,-0.553436),
    new google.maps.LatLng(0.520470,-0.541077),
    new google.maps.LatLng(0.531456,-0.536957),
    new google.maps.LatLng(0.556174,-0.552063),
    new google.maps.LatLng(0.536949,-0.596008),
    new google.maps.LatLng(0.503991,-0.612488),
    new google.maps.LatLng(0.473780,-0.612488) ];

polyOptions = { 
    path: myCoordinates,
    strokeColor: "#FF0000",
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: "#0000FF",
    fillOpacity: 0.6 };

var rightShoulderFront = new google.maps.Polygon(polyOptions);
rightShoulderFront.setMap(map);

и вот где я проверяю на предмет:

var coordinate = selectedmarker.getPosition();
var isWithinPolygon = rightShoulderFront.containsLatLng(coordinate);
console.log(isWithinPolygon);

Но он продолжает выдавать ошибку: Uncaught ReferenceError: rightShoulderFront не определен

Ответы на вопрос(7)

Ваш ответ на вопрос