to-blog-map

GoogleMap APIで領域内外判定

2014.6.19(Thu)

こんにちわ新事業チームのO2です。
好きな相撲の決まり手は内無双と河津掛けです。

今回はGoogleMap APIを使って物件データを処理した際のまとめです。

概要

GoogleMap APIを使って、物件がエリアに入っているかどうかを判定するスクリプトです。
領域を設定した後、物件データを読み込んで、領域内外をアイコン&テキストに反映します。

デモ


デモを見る

※chromeのみ動作確認。もろもろ動作が怪しいところあると思いますがご了承ください。

詳細

アークではよく大量の物件データを扱いますが、そのうちに「任意の線引きでエリア分けをする」、というものがありました。
一般的にエリア分けは住所で判定すれば済むのですが、「○○通りに近い物件だけ」など一筋縄でいかないケースで、且つ物件数が数百あり、手動&目視での判定を諦めてスクリプトで処理しました。

GoogleMapAPIではポリゴン自体に衝突判定などがないようなので(?←どうなんでしょう)
GoogleMapAPI上の座標と、領域判定用に使う座標を別々に持って判定しています。

情報元に、
スタート ガイド – Google Maps JavaScript API v3 — Google Developers
google maps api v3で、クリックした場所にマーカーを設置する その1
ポリゴン作成 : おでかけマップ
点の集合で囲まれた領域の内外判定 – 永字八法
点の多角形に対する内外判定|NTTPCコミュニケーションズ
Point in polygon – Wikipedia
他Javascriptの入門・リファレンスページなどを多くのサイトを参考にさせていただきました。ありがとうございます。

非プログラマのスクリプトなのでいろいろおかしいと思いますが、また使うこともあるかと思ってまとめておきます。
以上です。