5

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の関数を指しています。したがって、問題はこの関数のどこかにあるはずだと思います。

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 に答える