Posts Google Maps API で領域内の判定
Post
Cancel

Google Maps API で領域内の判定

対象の地点(緯度経度)が範囲内にあるかどうかを判定するにはcontainsLocation()を使う。
特定のポリゴンの内側か外側かを判定できる。

https://developers.google.com/maps/documentation/javascript/examples/poly-containsLocation

以下はサンプルそのまま
ポリゴンを作成してからその中に座標があるか判定している。
[javascript]

function initMap() {
var map = new google.maps.Map(document.getElementById(‘map’), {
center: {lat: 24.886, lng: -70.269},
zoom: 5,
});

var triangleCoords = [
{lat: 25.774, lng: -80.19},
{lat: 18.466, lng: -66.118},
{lat: 32.321, lng: -64.757}
];

var bermudaTriangle = new google.maps.Polygon({paths: triangleCoords});

google.maps.event.addListener(map, ‘click’, function(e) {
var resultColor =
google.maps.geometry.poly.containsLocation(e.latLng, bermudaTriangle) ?
‘red’ :
‘green’;

new google.maps.Marker({
position: e.latLng,
map: map,
icon: {
path: google.maps.SymbolPath.CIRCLE,
fillColor: resultColor,
fillOpacity: .2,
strokeColor: ‘white’,
strokeWeight: .5,
scale: 10
}
});
});
}
[/javascript]

Railsのenumで元の数値を取得する

クックパッドのおすすめに掲載された。