5

我正在尝试使用containsLocationGoogle 几何库中的 ,但无法使其正常工作...

var point = new google.maps.LatLng(51.331, 3.538);
var poly = [
 new google.maps.LatLng(51.401818509550615, 3.547626782103622),
 new google.maps.LatLng(51.397574277049365, 3.563607598960424),
 new google.maps.LatLng(51.398540111384975, 3.567880788749134),
 ... // it is a lot bigger
];

if(google.maps.geometry.poly.containsLocation(point, poly) == true) {
 alert("yes");
}

Javascript 控制台给出了一个错误,但这指向了 Google 库中的一个函数。所以我认为问题应该出在这个函数的某个地方。

4

2 回答 2

6

好吧,我傻了

使用所有坐标作为数组是错误的,我必须使用创建的多边形对象。

var polyOptions = {
 ...
}

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

if(google.maps.geometry.poly.containsLocation(point, draw) == true) {
 alert("yes");
}
于 2012-05-31T15:31:40.450 回答
5

我有同样的问题([object Object]),我可以解决这样创建多边形变量的问题: draw = new google.maps.Polygon({paths:polyOptions});

然后问题就消失了。

于 2013-11-26T16:33:58.153 回答