以上で完了です。

開発を始めるには、デベロッパー ドキュメント をご覧下さい。

Google Maps Roads API をアクティベートする

まず初めに Google Developers Console で次の作業を行います。

  1. プロジェクトを作成または選択する
  2. Google Maps Roads API をアクティベートする
  3. 適切なキーを作成する
続ける

エラーのトラブルシューティング

エラーが発生すると、標準形式のエラー レスポンス本体が返され、HTTP ステータス コードにはエラー ステータスが設定されます。

レスポンスには、次のキーを持つ 1 つの error オブジェクトを含むオブジェクトが含まれています。

  • code: レスポンスの HTTP ステータスと同じものです。
  • message: エラーの簡単な説明です。
  • status: エラーの特性を示すステータス コードです。

たとえば、無効な placeId パラメータを送信すると、次のエラーが返されます。

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

発生する可能性があるエラーには、次のものがあります。

コード ステータス メッセージ トラブルシューティング
400 INVALID_ARGUMENT 指定されたキーが無効です。 API キーが有効でない、または API キーがリクエストに含まれていません。 キー全体を指定していること、またこのキーに対して API を有効にしていることを確認してください。
400 INVALID_ARGUMENT "\"path\" パラメータに無効な値が含まれています: ☃" リクエストに無効な引数が含まれています。 このエラーは、次のような原因で発生します。
  • path パラメータに問題があります。
    1 つ以上 100 未満の地点を指定していることを確認してください。 各地点は、48.409114,-123.369158 のようなコンマ区切りの数値のペアである必要があります。 地点と地点の間は、パイプ「|」で区切ります。
  • リクエストに無効な placeId が含まれています。
  • リクエストに placeIdpath の両方が含まれています。 1 回のリクエストで指定できるのは、どちらかのパラメータのみです。

存在しなくなった道路や道路以外の場所の placeId を渡しても、このエラーは返されません。

403 PERMISSION_DENIED 未登録のリクエストがブロックされました。 Google Developers Console からサインアップしてください。 API キーが有効でない、または API キーがリクエストに含まれていません。 キー全体を指定していること、またこのキーに対して API を有効にしていることを確認してください。
404 NOT_FOUND このサービスには HTTPS が必須です。 リクエストは、https://roads.googleapis.com/ に送信してください。http://roads.googleapis.com/次の形式は利用できません。
429 RESOURCE_EXHAUSTED プロジェクトの QPS 制限に達したため、リクエストが制限されました。 API Console で設定されている 1 秒および 1 ユーザーあたりのリクエストの上限数を超過しました。 この上限数は、すべてのユーザーに妥当な範囲でアクセスを許可しつつ、1 人または少数のユーザーが 1 日あたりの割り当て量を使い切ってしまうのを防ぐために設定されています。
429 RESOURCE_EXHAUSTED 1 日あたりの制限に達したため、リクエストが制限されました。 プロジェクトの 1 日あたりの割り当てを超過しました。

指数関数的バックオフ

リクエストが失敗した場合、指数関数的バックオフでリクエストを再試行する必要があります。 たとえば、1 度リクエストが失敗した場合、1 秒後に再試行します。さらに失敗した場合、2 秒後、4 秒後というように再試行します。 すぐにリクエストを再試行しようとするクライアントが多いため、こうすることによって、不完全なリクエストや広範な障害で Google のサーバーが処理不能にならないようにすることができます。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。