『住所とクーポンで検索するページ』って昨日書いたのを、どうやって実装するか妄想してみよう。
ついでに料金による検索もできたらいいね。
ぐるなびAPIが提供する住所による検索ってのは「都道府県+市町村+番地」を結合した文字列による検索のようです。
ってことは、かなり特定しないと検索できない気がするので使い物にならない、どうするか?
そもそも位置と範囲で指定するには、「緯度・軽度・範囲」指定による検索が一番使いやすい。
なので、まず住所から緯度・軽度を取得してみる。
方法としては、Googleが提供するAPIから「geocoder」機能を使わせてもらう。
これは、住所情報から緯度・軽度を得る事ができるAPIです。
一時、日本国内サービスを停止してたけどいつの間にかサービス復活してるので、使わない手は無いね。
使い方はめんどいので説明しないけど、ドキュメント置いておきますね。
つGoogle Maps API Document
ちなみに京都市西京区のデータを得ると、こんなページが帰ってくる。
これで取得した緯度・軽度を使って、ぐるなびAPIに投げるわけだ。
範囲に関してはradioボタンかセレクトボックスでもつけて選択してもらうのが良かろう。
なぜなら、範囲指定は「1:300m、2:500m、3:1000m、4:2000m、5:3000m」の5種からしか選べないから。
とりあえず、五条河原町の周辺1000mのデータを取り出すとこんな感じ。
世界測地計から日本測地計への変換はめんどいのですっ飛ばした。
ほんとは変換しないといけない。
計算式当てはめるだけだから簡単ダヨ。
変換しないと誤差500mくらいでる。
だから結果は四条烏丸付近かもしれない。
ってことで検索の結果。
さて、これで結果一覧を受け取って・・・こっからどうしよう。
たぶん次回に続く。
コメントする