我想找到一种检查点是否存在于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);
但它一直显示错误:未捕获的引用错误:rightShoulderFront 未定义