エラー処理

リクエストを行うと、エラーの詳細を含むレスポンスが返されることがあります。

2D タイルとストリートビューの画像

2D タイルとストリートビュー画像の使用時に発生する可能性のあるエラーの一覧を以下に示します。

一覧表示中にエラーが発生しました

以下に、Map Tiles API の使用時に発生する可能性のあるエラーの詳細を示します。

required
リクエストに URL パラメータが指定されていません。エラー メッセージは、どのパラメータが欠落しているかを示します。
notFoundinvalid

xy、または z の値が範囲外です。

  • 通常の地図タイルの場合、最大ズームレベルは特定の地図タイルとリクエストした地図オプションによって異なります。

  • 通常の地図タイルの場合、x 座標は [0, (2^zoom)-1] の範囲内になければなりません。

  • 通常の地図タイルの場合、y 座標は [0, (2^(zoom-1))-1] の範囲内になければなりません。

  • Street View Tiles の場合、ズームは 0 ~ 5 の範囲で指定する必要があります。

  • ストリートビュー タイルの場合、x 座標と y 座標範囲は、レベル 5 ズームまで通常の地図タイルの場合と同じです。その時点での最大値は imageHeight または imagewidthtileHeight または tileWidth で割った数になります。

forbidden: リクエストに有効な API キーがありません。

expired
session トークンの有効期限が切れています。セッショントークンは 作成時点から 2 週間有効ですこれは予告なく変更される場合があります。このエラーが表示された場合は、セッション トークンを使用するで説明されているように、新しいセッション トークンを取得する必要があります。
badRequest

リクエストの形式が正しくありません。これには、一般的に次のような理由があります。

  • roadmap レイヤを含めずに terrain マップタイプを指定しました。

  • ロードマップ以外のマップタイプに styles 配列が含まれています。

  • ストリートビュー メタデータ リクエストで、緯度/経度値とパノラマ ID を送信しました。

quotaExceededrateLimitExceeded

アプリケーションで許可されている割り当てを超えているか、1 秒あたりのクエリ数の制限を超えています。

エラーの例

{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "errors": [
      {
        "message": "The request is missing a valid API key.",
        "domain": "global",
        "reason": "forbidden"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}

リクエストの再試行

quotaExceededrateLimitExceeded でリクエストが失敗した場合は、リクエストの失敗や大規模な障害によって Goodle サーバーに過剰な負荷がかかることのないようにリクエストを再試行する必要があります。多くのクライアントはリクエストを連続して再試行するためです。つまり、リクエストを再試行するときに指数バックオフを使用します。指数バックオフでは、サーバーの復旧時間を確保するために、リクエストを時間内に分散せざるを得なくなります。

たとえば、リクエストが失敗した場合は、1 秒後に再試行します。それでも失敗した場合は、2 秒後にリクエストを再試行してください。このリクエストも失敗した場合は、4 秒後に再試行してください。したがって、2 つのリクエストの間隔を 2 倍にするだけで、連続する各リクエストを効果的に分散できます。

3D タイル

Google のサーバーからのエラーがわからない場合があります。これは、サーバーエラーを処理するレンダラを介してフォトリアリスティックなタイルにアクセスするためです。

タイル レンダラのエラー

たとえば、CesiumJS レンダラは通常、サーバーエラーの発生時に通知なく失敗するため、クラッシュする、画面に何も表示されない、特定のタイルが読み込まれないなどの問題が発生する可能性があります。

サーバーエラーのデバッグに使用する手法は、使用するレンダラによって異なります。CesiumJS などのブラウザベースのレンダラの場合、ほとんどのブラウザに組み込まれているツールを使用してネットワーク トラフィックを検査できます。たとえば、Chrome DevTools を使用します。

よくある間違い

以下に、発生する可能性がある最も一般的なエラーの詳細を示します。

400: 引数が無効です
API キー、クエリ パラメータ、タイル/タイルセット ID、または期限切れのセッション トークンが無効です。
403: アクセスが拒否されました
API キーまたは SSL 接続がありません。または、API キーが 3D タイルの許可リストに追加されていません。Map Tiles API の 3D タイル機能の許可リストに追加するには、プロジェクト ID を使用して Google サポートにお問い合わせください。
429: リクエストが多すぎます
保存容量を使い果たしました。割り当てを増やすには、Google サポートにお問い合わせください。