LoginSignup
0
2

More than 1 year has passed since last update.

Directions API(Google Maps Platform)のセットアップとテスト

Posted at

はじめに

Google Maps Platform の Directions API を使うための準備について投稿します。初期設定~ブラウザでのテストまでを記載しています。

2022年6月時点の情報になります。

Google Maps Platform とは

GoogleマップのAPI群です。カスタマイズしたマップの埋め込みや距離の取得など、Googleマップの情報を様々に応用できるサービスです。

料金

1つのアカウントにつき、月$200までは無料で利用できます。その上限を超えると、使った分だけ料金が請求されます。

セットアップ方法

流れは以下の通りです。

  1. Google Cloud Platformへのログイン
  2. プロジェクトの作成
  3. 請求先アカウントの作成
  4. APIキーの発行

公式スタートガイドはこちらです。

Google Cloud Platform へのログイン

以下にアクセスします。

「使ってみる」をクリック。
image.png

Googleアカウントでログイン。もしアカウントがなければ新規作成します。
image.png

利用規約に同意します。
image.png

プロジェクトの作成

最初は「My First Project」というプロジェクトが自動で作成されます。プロジェクト単位でAPIを管理することができ、新たに作ることもできます。ここでは「My First Project」を使用していきます。

請求先アカウントの作成(課金の有効化)

最初は無料トライアルを始める、という形になります。

無料トライアルを含め、APIを利用するためには請求先を登録する必要がありますが、この時点ですぐに課金されることはありません。

「請求先アカウントを作成」をクリックします。
image.png

1/3 画面の指示に従って進みます。
image.png

2/3
image.png

3/3 最後に支払い情報を登録します。カード情報を入力すると住所入力欄も表示されます。
image.png

APIキーの発行

続いて実際にAPIを使えるようにしていきます。初回に画像のポップアップが出ると思います。黒く塗ってある部分がAPIキー(後述)です。

「デモを作成」をクリックして先に進みます。
APIkey.png
APIキーの保護(後述)はいったん「後で」をクリックします。
image.png
以下のメッセージが出れば準備完了です。
image.png

とりあえずテストしてみたい場合は、こちらの項目に飛んでください。

APIキーとは

APIを利用するアカウントを識別する一意の文字列です。APIを呼び出す際のリクエストにこのキーを必ず含める必要があり、これをもとに使用量が集計され課金されます。単なる文字列のため呼び出し元等を制限しないと、第三者からの不正利用を許してしまいます。そのため、上記でAPIキーの保護を推奨するポップアップがありました。

APIキーの保護① アプリケーションの制限

試しに呼び出し元を自分のIPアドレスで制限してみましょう。制限することで、そのIPアドレスからしかAPIを呼び出せなくなります。

IPアドレスでの制限は、IPアドレスが変わる度に以下の設定が必要になります

コンソールの「認証情報」をクリックすると発行されたAPIキーが確認できます。右側の鉛筆マークをクリックします。
image.png

以下の編集画面に移動したら、「アプリケーションの制限」で「IPアドレス」を選びます。
image.png

「項目を追加」をクリックします。
image.png

自分のIPアドレスを入力して「完了」をクリックします。IPアドレスはこちらのようなサービスで調べられます。
image.png
以上でIPアドレスによる制限は完了です。

APIキーの保護② APIの制限

APIキーで呼び出せるAPIを限定しておく設定です。Directions API のみを呼び出せるようにしてみます。

先ほどのIPアドレスの入力欄の下に「APIの制限」がありますので、「キーを制限」をクリックします。
image.png

その下のプルダウンメニューで「Directions API」にチェックを付け、「OK」をクリックします。
image.png

以下の表示になったら、「保存」をクリックして完了です。
image.png

詳細

APIキーの保護については、以下でより詳しく解説されています。

使用量の制限

誤って大量のリクエストをして多額の料金が請求されないように、APIの使用量(リクエスト数)の上限を設定しておきます。

Directions API を無料枠\$200内で済ませる場合、リクエスト1,000回あたり$5(料金表)なので、1日あたりのリクエスト上限は1,290回(=40,000÷31)になります。

設定は「割り当て」タブから行います。
image.png
「Requests」を展開し、「Requests /日」の鉛筆マークをクリックします。
image.png
割り当て上限の「無制限」からチェックを外し、上限値を入力します。もし画面のような注意書きが出たら、「確認」にチェックを入れて保存します。
image.png
以上で使用量の制限がかかりました。
image.png

テスト

準備が完了しましたので、いよいよブラウザでテストしてみます。

リクエスト形式

形式は次の通りです。

https://maps.googleapis.com/maps/api/directions/outputFormat?parameters

ベースのURLはhttps://maps.googleapis.com/maps/api/directions/で、結果の受け取り方(json/xml)をoutputFomatで指定します。parameters部分がリクエストパラメータ(具体的な要求内容)です。

必須パラメータは以下3点です。

パラメータ名 内容
origin 出発地
destination 目的地
key APIキー

他にもたくさんのパラメータがあります。公式ドキュメントはこちらです。

テスト実行

試しに札幌駅から新千歳空港までの自動車走行距離をJSONで取得してみましょう。

メモ帳などのテキストエディタを開き、次のURLをコピペします。

https://maps.googleapis.com/maps/api/directions/json?origin=札幌駅&destination=新千歳空港&key=YOUR_API_KEY

最後の YOUR_API_KEY を自身のAPIキーに置き換えてください。置き換えたら、ブラウザの検索窓にコピペしてEnterしてみます。以下のような長いJSONがブラウザに表示され、最後のstatusOKならテストは成功です!

{
  "geocoded_waypoints": [
    {
      "geocoder_status": "OK",
      "place_id": "ChIJA_nD0nQpC18RpUdK3Yyx4qU",
      "types": [
        "establishment",
        "point_of_interest",
        "train_station",
        "transit_station"
      ]
    },
    {
      "geocoder_status": "OK",
      "place_id": "ChIJ3RpcnUUgdV8R9oH25Xxguho",
      "types": [

  ...(略)...

  ],
  "status": "OK"
}
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2