メインコンテンツまでスキップ

ベクタタイルAPI

MapboxベクタタイルAPIは、Mapboxがホストするベクタタイルを提供します。

ベクタタイルの取得

get
https://api.mapbox.com/v4/{tileset_id}/{zoom}/{x}/{y}.{format}
必須パラメータ説明
tileset_idstringusername.id形式のベクタタイルセットの一意識別子。複数のベクタタイルセットを合成するには、最大15のタイルセットIDをカンマで区切ったリストを使用します。
zoomintegerSlippy Map Tilenames仕様で説明されているように、タイルのズームレベルを指定します。
{x}/{y}integerSlippy Map Tilenames仕様で説明されているように、タイルの列{x}と行{y}を指定します。
formatstring返されるタイルの形式を指定します:
.mvtベクタタイル
.vector.pbfベクタタイル

次のオプションパラメータを使用して、このエンドポイントからの結果をさらに絞り込むことができます。

オプションパラメータ説明
stylestringスタイル最適化タイルリクエストに必要です。styleパラメータは2つの部分で構成されており、スタイルIDと最近編集されたtimestamp<style ID>@<timestamp>形式で含まれます。timestampパラメータは、Mapbox Studioで作成されたスタイルに含まれるスタイルJSONのmodifiedプロパティから取得されます。
スタイル最適化ベクタタイルの取得

スタイルIDをタイルリクエストに含めることで、ベクタタイルはさらに最適化されます。スタイルパラメータが提供される場合、そのスタイルの ソース、フィルターminzoom、および maxzoomプロパティが分析され、地図に表示されないデータが ベクタタイルから削除されます。Mapbox GL JSはMapboxホストのスタイルJSONでスタイル最適化されたベクタタイルをリクエストできます。 未使用のレイヤーやフィーチャーは最適化されたスタイルから削除されます。Mapbox GL JSやMapboxモバイルSDKを使用して実行時にスタイルを動的に 変更することを計画している場合、フィルターやズーム範囲を広げても、読み込まれたスタイルで表示されないデータもデータに含まれません。

リクエスト例: ベクタタイルの取得

$ curl "https://api.mapbox.com/v4/mapbox.mapbox-streets-v8/1/0/0.mvt?access_token=YOUR_MAPBOX_ACCESS_TOKEN"

# スタイルクエリーパラメータを使用してスタイル最適化タイルを返す

$ curl "https://api.mapbox.com/v4/mapbox.mapbox-streets-v8/12/1171/1566.mvt?style=mapbox://styles/mapbox/streets-v12@00&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

レスポンス: ベクタタイルの取得

レスポンスは指定された形式のベクタタイルです。パフォーマンス向上のため、画像タイルはmax-ageヘッダー値が12時間先に設定されています。

ベクタタイルAPIエラー

レスポンスボディ messageHTTPステータスコード説明
Not Authorized - No Token401クエリでトークンが使用されていません。
Not Authorized - Invalid Token401クエリで使用したアクセストークンを確認してください。
Forbidden403アカウントに問題がある可能性があります。詳細についてはアカウントページを確認してください。

場合によっては、URL制限を持つアクセストークンを使用することも403エラーを引き起こすことがあります。詳細については、トークン管理ガイドをご覧ください。
Tileset {tileset name} does not exist404クエリで使用したタイルセットの名前を確認してください。
Tile not found404クエリでリクエストしたタイルの列と行を確認してください。
Zoom level must be between 0-30.422クエリで指定されたズームレベルが30より大きいか、数字以外の文字が含まれています。
Tileset does not reference vector data422クエリで指定されたタイルセットはラスタタイルセットであり、ベクタタイルセットではありません。ラスタタイルを取得するには、ラスタタイルAPIを使用してください。

ベクタタイルAPIの制限と制約

  • MapboxベクタタイルAPIエンドポイントのデフォルトのレート制限は1分あたり100,000リクエストです。If you require a higher rate limit, contact us.
  • レート制限を超えると、HTTP 429 Too Many Requestsレスポンスを受け取ります。レート制限ヘッダーの情報については、レート制限ヘッダーセクションをご覧ください。
  • ベクタタイルAPIからのレスポンスには、デフォルトのCache-Controlヘッダーが設定されたmax-age=43200,s-maxage=300、つまりデバイスキャッシュのTTLが12時間、CDNキャッシュのTTLが5分の設定が含まれています。新しいタイルセットデータは、バックエンドでさらに5分間キャッシュされます。
  • 複数のタイルセットIDを合成する場合、APIリクエストは最も高いs-maxage値を持つタイルセットのキャッシュ時間を持ちます。
  • キャッシングに関する一般的な情報については、Maps APIsキャッシングトラブルシューティングガイドをご覧ください。

ベクタタイルAPIの料金

  • Billed by リクエスト
  • See rates and discounts per タイルリクエスト in the pricing page's マップ section

ベクタタイルAPIの使用はタイルリクエストで測定されます。無料枠に含まれるタイルリクエスト数および無料枠を超えたリクエストごとの料金の詳細は、料金ページをご覧ください。

このpageは役に立ちましたか?