我正在尝试使用Google几何图书馆中的containsLocation
,但无法让它工作......
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的lib中的一个函数。所以我认为这个问题应该存在于这个函数中。
答案 0 :(得分:5)
Oke,愚蠢的我
我错误地使用所有的coords作为数组,我不得不使用创建的多边形对象。
var polyOptions = {
...
}
draw = new google.maps.Polygon(polyOptions);
draw.setMap(map);
if(google.maps.geometry.poly.containsLocation(point, draw) == true) {
alert("yes");
}
答案 1 :(得分:4)
我有同样的问题([object Object])
,我可以解决创建多边形变量的问题:
draw = new google.maps.Polygon({paths:polyOptions});
然后问题就消失了。