Я ищу способ проверить, существует ли точка внутри многоугольника в 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 не определено