Vector Tiles API
Mapbox Vector Tiles APIは、Mapboxがホストするベクタータイルを提供します。
ベクタータイルの取得
get
https://api.mapbox.com/v4/{tileset_id}/{zoom}/{x}/{y}.{format}
必須パラメータ | 型 | 説明 | ||||
---|---|---|---|---|---|---|
tileset_id | string | username.id 形式のベクタータイルセットの一意識別子。複数のベクタータイルセットを合成するには、最大15のタイルセットIDをカンマで区切ったリストを使用します。 | ||||
zoom | integer | Slippy Map Tilenames仕様で説明されているように、タイルのズームレベルを指定します。 | ||||
{x}/{y} | integer | Slippy Map Tilenames仕様で説明されているように、タイルの列{x} と行{y} を指定します。 | ||||
format | string | 返されるタイルの形式を指定します:
|
次のオプションパラメータを使用して、このエンドポイントからの結果をさらに絞り込むことができます。
オプションパラメータ | 型 | 説明 |
---|---|---|
style | string | スタイル最適化タイルリクエストに必要です。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エラー
レスポンスボディ message | HTTPステータスコード | 説明 |
---|---|---|
Not Authorized - No Token | 401 | クエリでトークンが使用されていません。 |
Not Authorized - Invalid Token | 401 | クエリで使用したアクセストークンを確認してください。 |
Forbidden | 403 | アカウントに問題がある可能性があります。詳細についてはアカウントページを確認してください。 場合によっては、URL制限を持つアクセストークンを使用することも 403 エラーを引き起こすことがあります。詳細については、トークン管理ガイドをご覧ください。 |
Tileset {tileset name} does not exist | 404 | クエリで使用したタイルセットの名前を確認してください。 |
Tile not found | 404 | クエリでリクエストしたタイルの列と行を確認してください。 |
Zoom level must be between 0-30. | 422 | クエリで指定されたズームレベルが30より大きいか、数字以外の文字が含まれています。 |
Tileset does not reference vector data | 422 | クエリで指定されたタイルセットはラスタタイルセットであり、ベクタータイルセットではありません。ラスタタイルを取得するには、ラスタタイル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は役に立ちましたか?