Googleマップにポリゴンを描画するために、これらの座標をデータベースのフィールドに保存しています。マーカーがこのポリゴン内にあるかどうかを検出したい:
(37.15730677081955, -3.7892532348632812),
(37.13486648362684, -3.7593841552734375),
(37.16059015678727, -3.7027359008789062)
誰もそれを取得する方法を知っていますか?
Googleマップにポリゴンを描画するために、これらの座標をデータベースのフィールドに保存しています。マーカーがこのポリゴン内にあるかどうかを検出したい:
(37.15730677081955, -3.7892532348632812),
(37.13486648362684, -3.7593841552734375),
(37.16059015678727, -3.7027359008789062)
誰もそれを取得する方法を知っていますか?
次のようなもので、GoogleマップジオメトリライブラリのcontainsLocation()メソッドを使用できます。
for (var j=0; j < allMarkers.length; j++){
for (var i=0; i < createdShapes.length; i++) {
var latlong = allMarkers[j].getPosition();;
if(google.maps.geometry.poly.containsLocation(latlong, createdShapes[i]) == true) {
allMarkers[j].setOptions({
icon : "http://labs.google.com/ridefinder/images/mm_20_white.png",
});
}
}
GPS 座標が緯度/経度境界ボックス内にあるかどうかを検出するために Java で記述されたコードを次に示します。これは数学的なものであるため、おそらく他の言語に翻訳できます。