TL;DR
- Mapbox APIの公式リファレンスを補足付きで要約した。
- Mapbox APIを知れば、ラッパー(Mapbox GL JSなど)の理解に繋がる。
- Mapbox APIは、4つの構成(地図、ナビ、検索、アカウント)に分かれる。
はじめに
Mapboxは、機能やデザインを自由にカスタムした地図をWebやアプリ向けに埋め込むことができる地図サービスとして広く知られています。
私も普段 Mapbox GL JS や Maps SDK のようなラッパーを使ってカスタム地図を開発しています。 ただ、ラッパーのリファレンスを読むだけでは、何がどんな仕様で動いているのかを知るのに限界がありました。
そこで、ラッパーの内部で動く処理を詳しく知るため、Mapboxが提供するAPIについてまとめました。
Mapbox APIとは
Mapboxが提供するツールやサービスとやり取りするためのAPIです。
多くのWeb/アプリ開発者は、ラッパーを通じてMapbox APIを使っているため、Mapbox APIを意識することはあまりありません。
Mapbox APIの構成とAPI一覧
Mapbox APIは、次の4つの構成に分かれています。
Maps service
背景地図として使うタイルを操作するAPI群です。 Mapboxのサービスを使うほとんどの人は、このAPIを利用しています。
Vector Tiles API
ベクタータイルを取得する。
(例:Mapbox Studioのstylesから生成されたベクタータイル)Raster Tiles API
ラスタータイルを取得する。
(例:プリセットの衛星画像タイルや、Mapboxにアップロードしたラスターデータで生成したタイル)Static Images API
静止画を取得する。
(例:Mapbox Studioのstylesから生成された静止画像としての地図)Static Tiles API
ラスタータイルを取得する。
(例:Mapbox Studioのstylesから生成されたラスタータイル)Styles API
初期ロード時の座標やズームレベル、フォントなどのスタイルを取得・変更する。
(スタイルは、最新の Style Specification に準拠)Tilequery API
指定した緯度経度の半径内にあるfeature(地物)オブジェクトを検索する。
指定したポリゴン内からの検索も可能。Uploads API
データを一時的にS3へアップロードし、他のAPIから呼び出せるタイルセットに変換する。
データは、Datasets APIや管理ページで作成したデータセットを使っても良い。
現在は、Tilesets API(ベータ版)に機能が代替されつつある。Tilesets API [Beta]
手持ちのデータで、他のAPIから呼び出すタイルセットを作成・更新・削除する。
ちなみに、タイルセットの作成手順はこちら。
一連の操作ができる Tilesets CLI を使うと便利。Datasets API
手持ちのデータでデータセットを作成したり、作成されたデータセットの取得・更新・削除をする。
データセットは管理ページで作成することも可能。Fonts API
フォントの追加や、追加したフォント情報の取得をする。
Navigation service
ルート情報や等時線を取得するAPI群です。
主にカーナビなど、移動のナビゲーションに使われます。
- Directions API
自動車・自転車・徒歩のルート情報を取得する。 ルート情報は Route object に集約される。
Route object には、下記のようにオブジェクトがネストされる。(もちろん、下記以外の変数オプションもある)
Route object └── Route leg object ├── Banner instruction object └── Route step object └── Step maneuver object └── Voice instruction object
Isochrone API
指定した場所から指定した時間内に到着可能なポリゴン、またはラインを取得する。
ちなみに、Isochroneは等時線の意。Map Matching API
指定した緯度経度にマッチしたルート情報を取得する。
ルート情報は、Directions API から取得する。Matrix API
緯度経度を要素とする行列を用いて、各要素の最速ルートの所要時間または距離を取得する。
一方通行などの道路の状況も考慮される。Optimization API
緯度経度を要素とする行列を用いて、巡回セールスマン問題を解いたルートを取得する。
Search service
情報検索に使うAPIが含まれます。
- Geocoding API
住所と緯度経度の相互変換をする。
Accounts service
アカウント情報を操作するためのAPIが含まれます。
おわりに
この記事では、Mapbox APIの全容を把握するために、公式リファレンスを要約しました。
詳しい仕様が気になった方は、最後の参考リンクをチェックしてみてください。