Совместимая замена HERE Geocoding and Search

HERE распределяет свой поисковый API по нескольким хостам. Все они сводятся к here.mygeocode.com, который отвечает тем же массивом items, объектом address и объектом position, которые читают клиенты HERE.

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

Исходный хост
  • geocode.search.hereapi.com
  • revgeocode.search.hereapi.com
  • autosuggest.search.hereapi.com
  • autocomplete.search.hereapi.com
Используйте вместо негоhere.mygeocode.com
Параметр ключаapiKey (необязательно: любой адрес получает 2 500 запросов в день без ключа; укажите здесь свой ключ My Geocode, чтобы пользоваться балансом, пакетами и историей использования)
До
curl "https://geocode.search.hereapi.com/v1/geocode?q=Invalidenstra%C3%9Fe+116+Berlin&apiKey=YOUR_HERE_KEY"
После
curl "https://here.mygeocode.com/v1/geocode?q=Invalidenstra%C3%9Fe+116+Berlin&apiKey=YOUR_MYGEOCODE_KEY"

Почему переходят

HERE берёт плату за транзакции с ежемесячными обязательствами. Одна смена имени хоста переводит вас на 2 500 бесплатных вызовов в день на адрес, с ключом или без, а после этого на фиксированную цену или оплату за запрос.

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

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

Эндпоинты

Путь на here.mygeocode.comЧто делаетНа основе
/v1/geocode?q=...ГеокодированиеПрямое геокодирование
/v1/geocode?qq=street=...;city=...Геокодирование с уточнённым запросомПрямое геокодирование
/v1/revgeocode?at=lat,lngОбратное геокодированиеОбратное геокодирование
/v1/autosuggest?q=...&at=lat,lngАвтоподсказкиАвтодополнение адресов
/v1/autocomplete?q=...АвтодополнениеАвтодополнение адресов

Пример ответа

Вот что возвращает запрос выше. Названия полей, вложенность и типы соответствуют HERE. Наши только данные за ними.

Ответ от here.mygeocode.com
{
  "items": [
    {
      "title": "Invalidenstraße 116, 10115 Berlin, Deutschland",
      "id": "mg.de.addr.9a3f1c77",
      "resultType": "houseNumber",
      "houseNumberType": "PA",
      "address": {
        "label": "Invalidenstraße 116, 10115 Berlin, Deutschland",
        "countryCode": "DEU",
        "countryName": "Deutschland",
        "stateCode": "BE",
        "state": "Berlin",
        "countyCode": "B",
        "county": "Berlin",
        "city": "Berlin",
        "district": "Mitte",
        "street": "Invalidenstraße",
        "postalCode": "10115",
        "houseNumber": "116"
      },
      "position": { "lat": 52.53041, "lng": 13.38527 },
      "access": [ { "lat": 52.53039, "lng": 13.38533 } ],
      "mapView": { "west": 13.38393, "south": 52.52951, "east": 13.38661, "north": 52.53131 },
      "scoring": {
        "queryScore": 1.0,
        "fieldScore": { "city": 1.0, "streets": [1.0], "houseNumber": 1.0, "postalCode": 1.0 }
      }
    }
  ]
}

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

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

  • Ошибки используют поля HERE title, status, code, cause и action с идентификатором корреляции.
  • Пакетного эндпоинта нет, потому что его нет у оригинала. Для массовой обработки используйте POST /v1/forward или /v1/reverse на api.mygeocode.com (до 100 за вызов, каждый элемент считается одним запросом).

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

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

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