Совместимая замена Mapbox Geocoding

И старый Geocoding API v5, и актуальные эндпоинты v6 отвечают на mapbox.mygeocode.com. Результаты представляют собой GeoJSON FeatureCollection с теми же массивами context, значениями place_type и порядком координат, на которые опираются клиенты Mapbox.

Измените одно имя хоста

Исходный хост
  • api.mapbox.com
Используйте вместо негоmapbox.mygeocode.com
Параметр ключаaccess_token (необязательно: любой адрес получает 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 по-разному тарифицирует временное и постоянное геокодирование и привязывает использование к аккаунту с сохранённой картой. Здесь результаты остаются у вас навсегда, а первые 2 500 запросов в день для каждого ключа бесплатны.

Та же бесплатная квота, с ключом или без. Запросы к mapbox.mygeocode.com учитываются в тех же 2 500 бесплатных запросах в день, которые ваш адрес или ваш ключ получает на наших собственных эндпоинтах. Сверх этого: предоплаченный баланс по 0,0001 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.

Смотреть цены Получить бесплатный ключ

Эндпоинты

Путь на 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/"
}

Подробности и отличия

Для первых 2 500 запросов в день ключ не нужен. Чтобы использовать ключ My Geocode, укажите его там, где был ключ Mapbox: в параметре запроса access_token. Заголовок X-API-Key, Authorization: Bearer и базовая HTTP-аутентификация (ключ в качестве имени пользователя) тоже работают на каждом хосте, поэтому клиентские библиотеки со своим способом аутентификации продолжают работать без изменений.

Строки об авторских правах, названия лицензий, ссылки на условия и политику конфиденциальности в ответе наши, а не исходного провайдера. Всё остальное сохраняет исходную структуру.

  • Маршрутизируются как эндпоинты v5 Places, так и эндпоинты поиска v6, а также эндпоинт suggest из Search Box.
  • POST /search/geocode/v6/batch с JSON-массивом до 1 000 объектов запросов (прямой q или обратный longitude/latitude) возвращает {"batch": [...]} с одной FeatureCollection на запрос, как и Mapbox; каждый запрос считается одним запросом, как их считает Mapbox.

Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.

Другие совместимые хосты

Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.