エラー処理

欧州経済領域(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 航空写真タイルを使用できません。サポートされている代替手段には、Maps JavaScript API、Maps SDK for Android、Maps SDK for iOS などがあります。詳細については、EEA のお客様向けの Map Tiles API の調整をご覧ください。

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

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

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

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

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

quotaExceeded、rateLimitExceeded

アプリケーションが、許可された割り当てを超過したか、秒間クエリ数の上限を超過しました。

エラーの例

{
  "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 タイルを使用できません。サポートされている代替手段には、Maps JavaScript API、Maps SDK for Android、Maps SDK for iOS の 3D Maps 機能があります。詳細については、EEA のお客様向けの Map Tiles API の調整をご覧ください。

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