リクエストを送信すると、エラーの詳細を含むレスポンスが返されることがあります。
2D タイルとストリートビューの画像
2D タイルとストリートビューの画像を使用する際に発生する可能性のあるエラーについて、以下に詳しく説明します。
エラーリスト
Map Tiles API の使用時に発生する可能性のあるエラーについて、以下に詳しく説明します。
required- リクエストに URL パラメータがありません。エラー メッセージには、どのパラメータがないかが示されます。
notFound、invalidx、y、zの値が範囲外です。通常の地図タイルの場合、最大ズームレベルは、特定の地図タイルとリクエストした地図オプションによって異なります。
通常の地図タイルの場合、x 座標は [0, (2^zoom)-1] の範囲内である必要があります。
通常の地図タイルの場合、y 座標は [0, (2^(zoom-1))-1] の範囲内である必要があります。
Street View タイルの場合、ズームは 0 ~ 5 の範囲で指定する必要があります。
Street View タイルの場合、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.2D 衛星タイルは、欧州経済領域(EEA)の住所の請求先アカウントにリンクされているプロジェクトでは使用できません。詳しくは、EEA のお客様向けの Map Tiles API の調整をご覧ください。
expiredsessionトークンの有効期限が切れています。セッション トークンは、作成時から 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: 引数が無効です
- API キー、クエリ パラメータ、タイル/タイルセット ID が無効であるか、セッション トークンの有効期限が切れています。
- 400: Invalid Value
createSessionTokenリクエストで使用された mapType が、後続のタイル エンドポイントで使用されるmapTypeと一致していることを確認してください。たとえば、streetviewセッション トークンを使用してroadmapタイルをリクエストすることはできません。
403: アクセスが拒否されました
考えられる原因:
API キーがない、SSL 接続がない、または API キーが 3D タイルの許可リストに追加されていない。プロジェクト ID を添えて Google サポートにお問い合わせいただき、Map Tiles API の 3D タイル機能の許可リストに追加してください。
メッセージ:
Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.フォトリアリスティック 3D タイルは、欧州経済領域(EEA)の住所の請求先アカウントにリンクされているプロジェクトでは使用できません。詳しくは、EEA のお客様向けの Map Tiles API の調整をご覧ください。
- 429: リクエスト数が多すぎる
- 割り当てがなくなりました。割り当てを増やすには、 Google サポートにお問い合わせください。