エラー処理
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
リクエストを行うと、エラーの詳細を含むレスポンスが返されることがあります。
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 サポートにお問い合わせください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-09-04 UTC。
[null,null,["最終更新日 2025-09-04 UTC。"],[[["\u003cp\u003eRequests for 2D Tiles and Street View imagery may result in errors such as \u003ccode\u003erequired\u003c/code\u003e, \u003ccode\u003enotFound\u003c/code\u003e, \u003ccode\u003einvalid\u003c/code\u003e, \u003ccode\u003eforbidden\u003c/code\u003e, \u003ccode\u003eexpired\u003c/code\u003e, \u003ccode\u003ebadRequest\u003c/code\u003e, \u003ccode\u003equotaExceeded\u003c/code\u003e, or \u003ccode\u003erateLimitExceeded\u003c/code\u003e indicating issues with parameters, API keys, or quota limits.\u003c/p\u003e\n"],["\u003cp\u003eWhen retrying requests that failed due to \u003ccode\u003equotaExceeded\u003c/code\u003e or \u003ccode\u003erateLimitExceeded\u003c/code\u003e, it's crucial to implement exponential backoff to avoid overwhelming Google servers.\u003c/p\u003e\n"],["\u003cp\u003e3D Tiles errors are often handled by the renderer, requiring debugging techniques like inspecting network traffic using browser developer tools.\u003c/p\u003e\n"],["\u003cp\u003eCommon 3D Tiles errors include 400 (Invalid argument), 403 (Permission denied), and 429 (Too many requests), which can be addressed by verifying API keys, SSL connections, allowlisting, or adjusting quotas.\u003c/p\u003e\n"]]],["Upon encountering errors when using Map Tiles API, common issues include missing URL parameters (`required`), out-of-range coordinates (`notFound`, `invalid`), an invalid API key (`forbidden`), or an expired session token (`expired`). Other errors involve malformed requests (`badRequest`) or exceeding usage limits (`quotaExceeded`, `rateLimitExceeded`). When rate limiting occurs, implement exponential backoff when retrying requests. 3D Tiles errors may be handled by the renderer and include issues like invalid keys, missing API key, or exceeded quota.\n"],null,["# Handling errors\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google\n| Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. [Learn more](/maps/comms/eea/faq). In addition, certain content from the Map Tiles API will no longer be returned. [Learn more](/maps/comms/eea/map-tiles).\n\nAfter you make a request, you might receive a response that contains error\ndetails.\n\n2D Tiles and Street View imagery\n--------------------------------\n\nThe following list details the errors that you might encounter when using 2D\nTiles and Street View imagery.\n\n### Error listing\n\nThe following list details the errors you might encounter when using the\nMap Tiles API.\n\n`required`\n: Your request is missing a URL parameter. Note that the error message indicates\n which parameter is missing.\n\n`notFound`, `invalid`\n\n: Your \u003cvar class=\"apiparam\" translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ex\u003c/code\u003e\u003c/var\u003e, \u003cvar class=\"apiparam\" translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ey\u003c/code\u003e\u003c/var\u003e, or\n \u003cvar class=\"apiparam\" translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ez\u003c/code\u003e\u003c/var\u003e values are out of range.\n\n - For regular map tiles, the maximum zoom level depends on the particular\n map tile, and on the map options that you requested.\n\n - For regular map tiles, the x coordinate must be in the range\n \\[0, (2\\^zoom)-1\\].\n\n - For regular map tiles, the y coordinate must be in the range\n \\[0, (2\\^(zoom-1))-1\\].\n\n - For Street View Tiles, zoom must be between zero and five, inclusive.\n\n - For Street View Tiles, the x and y coordinate ranges are the same as\n for regular map tiles, until level five zoom. At that point, the maximum\n values are `imageHeight` or `imagewidth` divided by `tileHeight` or\n `tileWidth`.\n\n`forbidden`:\n\nPossible causes:\n\n- The request is missing a valid API key.\n\n- Message: `Your request cannot be served. Please ensure the parameters and\n request type are valid for your account and region.`\n\n 2D satellite tiles are not available in projects that are linked to a\n billing account with a European Economic Area (EEA) address. For more\n information, see [Map Tiles API adjustments for EEA\n customers](/maps/comms/eea/map-tiles#adjustments).\n\n`expired`\n: Your `session` token has expired. A session token is valid for\n two weeks from its creation time. Note that this might change\n without notice. If you receive this error, then you must get a new session\n token, as described in\n [Use session tokens](/maps/documentation/tile/session_tokens).\n\n`badRequest`\n\n: Your request was malformed. Common reason for this include:\n\n - You specified a `terrain` map type without including a `roadmap` layer.\n\n - You included a `styles` array for a non-roadmap map type.\n\n - You sent a lat/lng value, as well as a panorama ID in a Street View metadata\n request.\n\n`quotaExceeded`, `rateLimitExceeded`\n\n: Your application has exceeded its allowed quota, or it exceeded it allowed\n number of queries per second.\n\n### Example error\n\n {\n \"error\": {\n \"code\": 403,\n \"message\": \"The request is missing a valid API key.\",\n \"errors\": [\n {\n \"message\": \"The request is missing a valid API key.\",\n \"domain\": \"global\",\n \"reason\": \"forbidden\"\n }\n ],\n \"status\": \"PERMISSION_DENIED\"\n }\n }\n\n### Retrying requests\n\nWhen requests fail with `quotaExceeded` and `rateLimitExceeded`, you should\nretry your request in such as way that broken requests or wide-scale failures\ndon't flood Goodle servers---as many clients attempt to retry requests in quick\nsuccession. This means using\n[exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff)\nwhen you retry your requests. Exponential backoff forces you to spread your\nrequests out in time, to give the server time to recover.\n\nFor example, if a request fails, then retry again after one second. But if that\nattempt fails as well, then retry your request again after two seconds. If that\nrequest also fails, then try again after four seconds. So you effectively spread\neach successive request out by simply doubling the length of time between them.\n\n3D Tiles\n--------\n\nErrors from Google's server might not be obvious to you because you access\nphotorealistic tiles through a renderer, which is responsible for handling\nserver errors.\n\n### Tile renderer errors\n\nFor example, the CesiumJS renderer usually fails silently when server errors\noccur, which can result in anything from crashes, blank screens, to specific\ntiles not loading.\n\nThe technique that you use to debug server errors will depend on the particular\nrenderer you use. For browser-based renderers like CesiumJS, you can inspect\nthe network traffic with tools built into most browsers. For example, you can\nuse\n[Chrome DevTools](https://developer.chrome.com/docs/devtools/).\n\n### Common errors\n\nThe following list contains details about the most common errors that you might\nencounter.\n\n400: Invalid argument\n: Invalid API keys, query parameters, tile/tileset IDs, or an expired session\n token.\n\n400: Invalid Value\n: Make sure that the mapType with which the `createSessionToken` request was\n made matches the `mapType` used in the subsequent tile endpoint. For example, a\n `streetview` session token cannot be used to request a `roadmap` tile.\n\n**403: Permission denied**\n\nPossible causes:\n\n- Missing API key, missing SSL connection, or your API key has not been added\n to the allowlist for 3D Tiles. Contact [Google\n Support](/maps/support#contact-maps-support) with your project ID to get\n added to the allowlist for the 3D Tiles functionality of the\n Map Tiles API.\n\n- Message: `Your request cannot be served. Please ensure the parameters and\n request type are valid for your account and region.`\n\n Photorealistic 3D tiles are not available in projects that are linked to a\n billing account with a European Economic Area (EEA) address. For more\n information, see [Map Tiles API adjustments for EEA\n customers](/maps/comms/eea/map-tiles#adjustments).\n\n429: Too many requests\n: Your quota is exhausted. Contact\n [Google Support](/maps/support#contact-maps-support) to increase your quota."]]