Tôi đang tìm cách tìm một điểm kiểm tra xem có tồn tại một điểm trong đa giác trong Google Maps v3 (JavaScript) hay không. Tôi đã tìm kiếm ở khắp mọi nơi và các giải pháp duy nhất mà tôi đã tìm thấy cho đến nay là làm việc với các giới hạn của đa giác, nhưng mã được hiển thị chỉ tạo hình chữ nhật và tiếp tục mở rộng diện tích bề mặt của nó để bao gồm tất cả các điểm liên quan.Google Maps v3: kiểm tra xem điểm có tồn tại trong đa giác
Nhân tiện, lý do tôi không thể sử dụng một hình vuông lớn, tức là nhận được một đa giác, là tôi có các đa giác xung quanh trên bản đồ và chúng không thể mở rộng ra lãnh thổ của nhau.
EDIT Theo sau từ trả lời bên dưới, tôi đã thử triển khai mã ví dụ bằng một trong các đa giác hiện có của tôi nhưng nó chỉ nói rằng nó không được xác định và tôi không thể hiểu tại sao.
Đây là tuyên bố của tôi:
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);
và đây là nơi tôi đang kiểm tra cho điểm:
var coordinate = selectedmarker.getPosition();
var isWithinPolygon = rightShoulderFront.containsLatLng(coordinate);
console.log(isWithinPolygon);
Nhưng nó vẫn không ngừng đến với các lỗi: ReferenceError chưa gặp: rightShoulderFront không được định nghĩa
Có bất kỳ hạn chế đặt bởi Google về việc sử dụng phương pháp này, 'containsLocation()'? –