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

Vector Tiles API

Mapbox Vector Tiles 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リクエストです。もし、レート制限をの数を高くしたい場合は、お問い合わせください。.
  • レート制限を超えると、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の料金

  • リクエスト ごとに請求されます
  • 料金ページの Maps セクションで、タイルリクエスト ごとの料金と割引をご確認ください。

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

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