Styles API
Mapbox Styles API を使用すると、マップスタイル、フォント、および画像を読み取ったり変更したりできます。この API は Mapbox Studio の基礎です。
Studio、Mapbox GL JS、または Mapbox Mobile SDK を使用している場合、既に Styles API を使用しています。このドキュメントは、これらのリソースをプログラム的に読み書きしたいソフトウェア開発者に役立ちます。Mapbox マップの設計や使用には、このリファレンスを読む必要はありません。
Styles API を使用するには、Mapbox Style Specification に精通している必要があります。Mapbox Style Specification は、マップスタイルの構造を定義し、Studio が API と通信し、Mapbox ライブラリと互換性のあるマップを作成するためのオープンスタンダードです。
Mapbox スタイル
Mapbox Standard
スタイル名 | スタイル URL | スタイル画像 |
---|---|---|
Mapbox Standard |
| |
Mapbox Standard Satellite |
|
Mapbox Standard または Mapbox Standard Satellite を使用するには、GL JS v3 以上のバージョンをウェブおよび mobile Mobile Maps SDKs v11 以上で使用する必要があります。他のスタイル URL が指定されていない限り、これらの SDK バージョンのデフォルトのマップは Mapbox Standard です。
Standard スタイルの基本的なパラダイムは、他の Mapbox スタイルと異なります。Standard のレイヤーは、事前定義された設定オプションを除いて変更できません。Mapbox はベースマップの体験を管理し、主要なグローバルスタイル設定のみを提供します。その結果、常に最新のデータ、スタイル、およびレンダリング機能を備えた統一された視覚体験と、最新のマップを得ることができます。
詳細については、開始ガイド をご覧ください。
Mapbox クラシックスタイル
次の Mapbox 所有の スタイル は、有効な アクセス トークン を使用しているすべてのアカウントで利用できます。以下のスタイル名をクリックしてスタイルの詳細を確認したり、スタイル URL をコピーしてプロジェクトでスタイルを使用したりできます。
スタイル名 | スタイル URL | スタイル画像 |
---|---|---|
Mapbox Streets |
| |
Mapbox Outdoors |
| |
Mapbox Light |
| |
Mapbox Dark |
| |
Mapbox Satellite |
| |
Mapbox Satellite Streets |
| |
Mapbox Navigation Day |
| |
Mapbox Navigation Night |
|
スタイルオブジェクト
スタイルオブジェクトは Mapbox Style Specification に準拠し、いくつかの追加のアカウント関連プロパティが含まれるオブジェクトです。
プロパティ | タイプ | 説明 |
---|---|---|
version | number | スタイル仕様バージョン番号 |
name | string | スタイルの読みやすい名前 |
metadata | object | Mapbox Studio で使用されるスタイルに関する情報 |
sources | object | マップに表示されるデータを提供するソース |
layers | array | レイヤーはこの配列の順序で作成されます |
created | string | スタイルの作成日時 |
id | string | スタイルのID |
modified | string | 最後にスタイルが修正された日時 |
owner | string | スタイルの所有者のユーザー名 |
visibility | string | スタイルのアクセス制御 (public または private ) |
protected | boolean | スタ イルが保護されているか (true ) されていないか (false ) |
draft | boolean | スタイルが草案であるか (true ) 公開されたか (false ) |
スタイルオブジェクトは以下のルールに従わなければなりません:
- 有効な JSON である必要があります
- 最新バージョンの Mapbox Style Specification に準拠している必要があります
- 最大 15 の
sources
で構成することができます - スタイル本体には Style Specification に記載されていないキーを含めることはできません
- source object の
url
プロパティは有効な Mapbox タイルセットIDでなければなりません - サポートされるのは raster と vector のみです
gl-style-validate
CLI ツールを --mapbox-api-supported
フラグ と共に使用してスタイルオブジェクトを検証できます。無効なスタイルは詳細な検証エラーメッセージを生成します。
スタイルオブジェクトの例
{
"version": 8,
"name": "{name}",
"metadata": "{metadata}",
"sources": "{sources}",
"sprite": "mapbox://sprites/{username}/{style_id}",
"glyphs": "mapbox://fonts/{username}/{fontstack}/{range}.pbf",
"layers": ["{layers}"],
"created": "2015-10-30T22:18:31.111Z",
"id": "{style_id}",
"modified": "2015-10-30T22:22:06.077Z",
"owner": "{username}",
"visibility": "private",
"protected": false,
"draft": true
}
ドラフト
Styles API はドラフトが可能で、すべてのスタイルには公開済みとドラフトのバージョンが存在します。これにより、アプリに反映させずにスタイルの変更を行うことができます。スタイル関連のエンドポイントごとに、スタイルIDの後に draft/
を付けることでスタイルのドラフトバージョンとやり取りできます。例えば、/styles/v1/{username}/{style_id}/draft/sprite
のようになります。
Studio のスタイルエディタで表示されるスタイルは常にドラフトバージョンです。API 呼び出しで draft/
のないURIを使用してスタイルやスプライトの公開バージョンに変更を加えると、ドラフトバージョンにはその変更が反映されません。
スタイルを取得する
JSON ドキュメントとしてスタイルを取得します。
必須パラメータ | タイプ | 説明 |
---|---|---|
username | string | スタイル所有アカウントのユーザー名 |
style_id | string | 取得するスタイルのID |
リクエスト例: スタイル を取得する
$ curl "https://api.mapbox.com/styles/v1/examples/cjikt35x83t1z2rnxpdmjs7y7?access_token=YOUR_MAPBOX_ACCESS_TOKEN"
レスポンス: スタイルの取得
返される スタイルオブジェクト は Mapbox Style 形式になります。
レスポンス例: スタイルを取得する
{
"version": 8,
"name": "Meteorites",
"metadata": {
"mapbox:origin": "basic-template-v1",
"mapbox:autocomposite": true,
"mapbox:type": "template",
"mapbox:sdk-support": {
"js": "0.45.0",
"android": "6.0.0",
"ios": "4.0.0"
}
},
"center": [74.24426803763072, -2.2507114487818853],
"zoom": 0.6851443156248076,
"bearing": 0,
"pitch": 0,
"sources": {
"composite": {
"url": "mapbox://mapbox.mapbox-streets-v8,examples.0fr72zt8",
"type": "vector"
}
},
"sprite": "mapbox://sprites/examples/cjikt35x83t1z2rnxpdmjs7y7",
"glyphs": "mapbox://fonts/{username}/{fontstack}/{range}.pbf",
"layers": [
{
"id": "background",
"type": "background",
"layout": {},
"paint": {
"background-color": []
}
},
{}
],
"created": "2015-10-30T22:18:31.111Z",
"id": "cjikt35x83t1z2rnxpdmjs7y7",
"modified": "2015-10-30T22:22:06.077Z",
"owner": "examples",
"visibility": "public",
"protected": true,
"draft": false
}
サポートされているライブラリ: スタイルの取得
Mapbox ラッパーライブラリは、既存のアプリケーションに Mapbox API を統合するのに役立ちます。次の SDK がこのエンドポイントをサポートしています。
SDK ドキュメントを参照して、このエンドポイントをクエリするための関連メソッドの使用例や詳細を確認してください。
スタイルの一覧を取得する
特定のアカウントのスタイル一覧を取得します。このエンドポイントは ページネーション をサポートします。スタイルは一般的にかなり大きいため、このエンドポイントへのレスポンスは他のリストエンドポイントよりも早くページネートを開始する可能性があります。アカウントに多数のスタイルがある場合、すべてを取得するために Link
ヘッダーの next
リンクリレーションを繰り返し使用する必要があります。
必須パラメータ | タイプ | 説明 |
---|---|---|
username | string | スタイル所有アカウントのユーザー名 |
このエンドポイントからの結果をさらに絞り込むために、次のオプションパラメータを使用できます。
オプションパラメータ | タイプ | 説明 |
---|---|---|
draft | boolean | ドラフト スタイルのみを一覧表示 (true ) するか、すべてのスタイルを返す (false 、デフォルト) かを指定します。 |
limit | integer | 返すスタイルの最大数。 |
start | string | リスト表示を開始するスタイルのID。Link ヘッダーの start パラメータを参照します。詳細はページネーションセクションを参照してください。 |
リクエスト例: スタイルの一覧を取得する
$ curl "https://api.mapbox.com/styles/v1/YOUR_MAPBOX_USERNAME?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
レスポンス: スタイルの一覧を取得する
このエンドポイントは完全なスタイルの代わりにスタイルのメタデータを返します。