Directions APIさわってみた
どうも僕です。秋田からお届けします。Google Mapの話です。
今日のお昼ぐらいにこんなニュース↓を見かけました。
特に都心部の方が「何を言ってるんだコイツは…?」となりそうなので軽く説明しておくと。
Google Mapのルート検索ありますよね。徒歩なり電車なり車なりで目的地までどんくらい時間かかる〜とかどんな経路でいけばいいのか〜とか調べることできますよね。もちろん秋田でもそれはできます。ただ
バス含めたルートが一切探せなかったんですよ。今の今まで。
平成が終わろうとしているこの時代にバス使ったルートがGoogleMapで探せない…?しかもコンビニ一つないド田舎の話ではなく人口30万人の県庁所在地で…?まじかよって感じですがマジなのでしょうがない。
でもそれがようやくできるようになったというのが上のニュースのお話。
で、ここまでが前提です。
バスを使ったルート検索が出来るようになったのをGoogle Maps APIでも確かめてみよう
ということで早速やってみましょう。今回は経路に関するデータを取得できる「Directions API」を使います。はじめて触ります。やってみよう。
Directions APIの準備
とりあえず(面倒なので)プログラムは書かず、シンプルにAPIを叩いてJSONをどれどれと覗いてみることにします。
Directions APIを使うにはGCPのコンソールのAPIライブラリから検索して「Directions API」を有効にするだけでOK。簡単っすね。
APIを叩いてみる(必須パラメータは何か?)
Directions APIのリクエストに必須なパラメータは以下3つ。APIキーはまぁ必須として要は「出発地」「行き先」の2つを指定すればOKのようです。
========================
● origin・・・ルートを計算する住所、テキストの緯度/経度の値、または場所ID。要するに「出発地」
● destination・・・ルートを計算する住所、テキストの緯度/経度の値、または場所ID。要するに「行き先」
● keys・・・APIキー
========================
で、リクエストの例が以下(Google様のサンプルまま)。YOUR_API_KEYの部分を自分のAPIキーに変更して叩けばレスポンスを確認できます。
https://maps.googleapis.com/maps/api/directions/json?origin=Disneyland&destination=Universal+Studios+Hollywood&key=YOUR_API_KEY
実際にAPIを叩いてみよう
とりあえず秋田用(+日本向け)にURIを変更しました。
https://maps.googleapis.com/maps/api/directions/json?origin=place_id:ChIJU49AUZLCj18RLQ-0Ko9_Wzw&destination=place_id:ChIJpYqBc3LBj18RO4KG0H4W_Cg&key=YOUR_API_KEY&language=jp®ion=jp
APIを叩くと以下のようにブラウザに結果が返ります。余談ですがJSON見る時はChromeよりもFireFoxの方が見やすくて好き。
見づらいのでちょっとアップにしました。
〜 中略 〜
公共交通機関経由のルートを検索したい場合はパラメータ「mode=transit」を指定する
早速中身をじっくり見てみようかと思ったんですが、どうやらデフォルトでは「Driving」つまり車を使った結果(経路)が返る仕様のようですね。
↓ここに書いてました。
詳しくはTravel Modesを見てねーということなので見てみます。
ふむふむなるほどー。
詳しくはこちらを見ていただくとして、公共交通機関を経由したルートを調べたい場合は「transit」を指定してね、とのこと。
ということでリクエストにパラメータを追加しました。
https://maps.googleapis.com/maps/api/directions/json?origin=place_id:ChIJU49AUZLCj18RLQ-0Ko9_Wzw&destination=place_id:ChIJpYqBc3LBj18RO4KG0H4W_Cg&mode=transit&key=AIzaSyAKdn8K99mgPCv5uVw-lnVu1fpRQ7V9FdQ&language=jp®ion=jp
で結果がこちら(一部抜粋)。
DRIVING(車)のみの結果だったのが、WALKING(徒歩)とTRANSIT(公共交通機関)を使ったルートに変わりました!
バスも使った経路も含まれていますし日本円で料金も確認できます。今度は意図したJSONが取得できてそうです(^ω^)
…と、いい感じのところまできてもうちょっと詳しく見ていきたいところですが、ちょっと長くなってしまったのでとりあえず今回はここまで。
続きはまた気が向いたときにでも。