エラー処理

欧州経済領域(EEA)のデベロッパー

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

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

次のリストは、2D タイルとストリートビューの画像を使用する際に発生する可能性のあるエラーの詳細を示しています。

エラーリスト

次のリストは、Map Tiles API の使用時に発生する可能性のあるエラーの詳細を示しています。

required
リクエストに URL パラメータがありません。エラー メッセージには、欠落しているパラメータが示されます。
notFound、invalid

x、y、z の値が範囲外です。

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

  • 通常の地図タイルの場合、x 座標は [0, (2^zoom)-1] の範囲内である必要があります。

  • 通常の地図タイルの場合、y 座標は [0, (2^(zoom-1))-1] の範囲内である必要があります。

  • ストリートビュー タイルの場合、ズームは 0 ~ 5 の範囲で指定する必要があります。

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

forbidden:

考えられる原因:

  • リクエストに有効な API キーが含まれていません。

  • メッセージ: Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.

    欧州経済領域(EEA)の住所を持つ請求先アカウントにリンクされているプロジェクトでは、2D 航空写真タイルを使用できません。詳細については、EEA のお客様向けの Map Tiles API の調整をご覧ください。

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

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

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

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

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

quotaExceeded、rateLimitExceeded

アプリケーションが、許可された割り当てを超過したか、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"
  }
}

リクエストの再試行

リクエストが quotaExceeded と rateLimitExceeded で失敗した場合は、壊れたリクエストや大規模な障害が Google サーバーに殺到しないように、リクエストを再試行する必要があります。多くのクライアントがリクエストをすぐに再試行しようとするためです。つまり、リクエストを再試行するときに指数バックオフを使用します。指数バックオフを使用すると、リクエストが時間的に分散されるため、サーバーが回復する時間を確保できます。

たとえば、リクエストが失敗した場合は、1 秒後に再試行します。この試行も失敗した場合は、2 秒後にリクエストを再試行します。そのリクエストも失敗した場合は、4 秒後にもう一度試します。そのため、リクエスト間の時間を 2 倍にすることで、連続するリクエストを効果的に分散できます。

3D タイル

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

タイル レンダラのエラー

たとえば、CesiumJS レンダラは通常、サーバーエラーが発生するとサイレントに失敗します。これにより、クラッシュ、空白の画面、特定のタイルの読み込み失敗など、さまざまな問題が発生する可能性があります。

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

一般的なエラー

次のリストに、発生する可能性のある一般的なエラーの詳細を示します。

400: Invalid argument
API キー、クエリ パラメータ、タイル/タイルセット ID が無効であるか、セッション トークンの有効期限が切れています。
400: Invalid Value
createSessionToken リクエストで使用された mapType が、後続のタイル エンドポイントで使用される mapType と一致していることを確認します。たとえば、streetview セッション トークンを使用して roadmap タイルをリクエストすることはできません。

403: Permission denied

考えられる原因:

  • API キーがない、SSL 接続がない、または API キーが 3D Tiles の許可リストに追加されていない。プロジェクト ID を添えて Google サポートに連絡し、Map Tiles API の 3D Tiles 機能の許可リストに追加してもらいます。

  • メッセージ: Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.

    欧州経済領域(EEA)の住所が登録されている請求先アカウントにリンクされているプロジェクトでは、高画質 3D タイルを使用できません。詳細については、EEA のお客様向けの Map Tiles API の調整をご覧ください。

429: リクエストが多すぎます
割り当てが不足しています。割り当てを増やすには、Google サポートにお問い合わせください。