リクエストを行うと、エラーの詳細を含むレスポンスが返されることがあります。
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 の範囲で指定する必要があります。
Street View Tiles の場合、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: 引数が無効です
- API キー、クエリ パラメータ、タイル/タイルセット ID が無効であるか、セッション トークンが期限切れです。
- 400: Invalid Value
createSessionToken
リクエストの作成に使用された mapType が、後続のタイル エンドポイントで使用されるmapType
と一致していることを確認します。たとえば、streetview
セッション トークンを使用してroadmap
タイルをリクエストすることはできません。
403: Permission denied
考えられる原因:
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.
欧州経済領域(EEA)の住所が登録されている請求先アカウントにリンクされているプロジェクトでは、フォトリアリスティック 3D タイルは使用できません。詳しくは、EEA のお客様向けの Map Tiles API の調整をご覧ください。
- 429: リクエストが多すぎます
- 割り当てがなくなりました。割り当てを増やすには、Google サポートにお問い合わせください。