Mapbox Geocodingの互換ホスト

旧版のv5 Geocoding APIと現行のv6エンドポイントの両方が、mapbox.mygeocode.comで応答します。結果は、Mapboxのクライアントが依存しているのと同じcontext配列、place_typeの値、座標の順序を持つGeoJSONのFeatureCollectionです。

ホスト名を1つ変えるだけ

元のホスト
  • api.mapbox.com
代わりに使うホストmapbox.mygeocode.com
キーのパラメーターaccess_token(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください)
変更前
curl "https://api.mapbox.com/geocoding/v5/mapbox.places/1%20Market%20St%20San%20Francisco.json?access_token=YOUR_MAPBOX_TOKEN"
変更後
curl "https://mapbox.mygeocode.com/geocoding/v5/mapbox.places/1%20Market%20St%20San%20Francisco.json?access_token=YOUR_MYGEOCODE_KEY"

移行する理由

Mapboxは一時的なジオコーディングと永続的なジオコーディングで課金方法が異なり、利用はカードを登録したアカウントに紐付けられます。こちらでは結果を自由に保持でき、どのキーでも1日あたり最初の2,500件のリクエストは無料です。

キーの有無にかかわらず、無料枠は同じです。mapbox.mygeocode.comへのリクエストは、お使いのアドレスまたはキーが当社独自のエンドポイントで得ている1日あたり2,500件の無料リクエストと同じ枠から差し引かれます。それを超える分は、プリペイドクレジットで1リクエストあたり€0.0001、またはUnlimitedキーで月額€50です。登録に必要なのはメールアドレスだけです。

料金を見る 無料のキーを取得

エンドポイント

mapbox.mygeocode.comのパス機能バックエンド
/geocoding/v5/mapbox.places/{query}.jsonジオコーディング(v5)ジオコーディング
/geocoding/v5/mapbox.places/{lon},{lat}.json逆ジオコーディング(v5)逆ジオコーディング
/search/geocode/v6/forward?q=...ジオコーディング(v6)ジオコーディング
/search/geocode/v6/reverse?longitude=...&latitude=...逆ジオコーディング(v6)逆ジオコーディング
/search/searchbox/v1/suggest?q=...Search Boxの候補住所オートコンプリート

レスポンスの例

上記のリクエストはこれを返します。フィールド名、入れ子構造、型はMapboxに準拠しています。その中身のデータだけが当社のものです。

mapbox.mygeocode.comからのレスポンス(v5)
{
  "type": "FeatureCollection",
  "query": ["1", "market", "st", "san", "francisco"],
  "features": [
    {
      "id": "address.mg.us.4d2e8b10",
      "type": "Feature",
      "place_type": ["address"],
      "relevance": 1,
      "properties": { "accuracy": "rooftop" },
      "text": "Market Street",
      "place_name": "1 Market Street, San Francisco, California 94105, United States",
      "center": [-122.394626, 37.793858],
      "geometry": { "type": "Point", "coordinates": [-122.394626, 37.793858] },
      "address": "1",
      "context": [
        { "id": "neighborhood.mg.us.fidi", "text": "Financial District" },
        { "id": "postcode.mg.us.94105", "text": "94105" },
        { "id": "place.mg.us.sanfrancisco", "wikidata": "Q62", "text": "San Francisco" },
        { "id": "region.mg.us.ca", "short_code": "US-CA", "text": "California" },
        { "id": "country.mg.us", "short_code": "us", "text": "United States" }
      ]
    }
  ],
  "attribution": "My Geocode, https://www.mygeocode.com/terms/"
}

詳細と相違点

1日あたり最初の2,500件のリクエストにはキーは不要です。My Geocodeのキーを使う場合は、Mapboxのキーがあった場所、つまりaccess_tokenクエリパラメーターに入れてください。X-API-Keyヘッダー、Authorization: Bearer、HTTP Basic認証(キーをユーザー名として使用)もすべてのホストで使えるため、独自の方法で認証するクライアントライブラリも変更なしで動作し続けます。

レスポンス内の著作権表示、ライセンス名、利用規約とプライバシーのリンクは、元のプロバイダーのものではなく当社のものです。それ以外はすべて元の形式を保っています。

  • v5のPlacesとv6のsearchの両方のエンドポイントに加え、Search Boxのsuggestエンドポイントもルーティングされます。
  • POST /search/geocode/v6/batchに最大1,000件のクエリオブジェクト(ジオコーディングはq、逆ジオコーディングはlongitude/latitude)のJSON配列を送ると、Mapboxと同様に、クエリごとに1つのFeatureCollectionを含む{"batch": [...]}が返ります。Mapboxの数え方と同じく、各クエリが1リクエストとして数えられます。

お使いのクライアントがここに記載されていないフィールドや動作に依存している場合は、お知らせください。互換性の差異はたいてい小さいため、すぐに修正されます。

その他の互換ホスト

互換ホストの仕組み概要JavaScriptライブラリの互換対応