Совместимая замена HERE Geocoding and Search
HERE распределяет свой поисковый API по нескольким хостам. Все они сводятся к here.mygeocode.com, который отвечает тем же массивом items, объектом address и объектом position, которые читают клиенты HERE.
Измените одно имя хоста
| Исходный хост |
|
|---|---|
| Используйте вместо него | 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. Наши только данные за ними.
{
"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 за вызов, каждый элемент считается одним запросом).
Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.
Другие совместимые хосты
- Google Maps
- Bing Maps
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- TomTom
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.