Совместимая замена TomTom Search
Эндпоинты Geocode, Reverse Geocode и Fuzzy Search от TomTom отвечают на tomtom.mygeocode.com с той же структурой summary и results, включая поле freeformAddress, которое показывает большинство интеграций.
Измените одно имя хоста
| Исходный хост |
|
|---|---|
| Используйте вместо него | tomtom.mygeocode.com |
| Параметр ключа | key (необязательно: любой адрес получает 2 500 запросов в день без ключа; укажите здесь свой ключ My Geocode, чтобы пользоваться балансом, пакетами и историей использования) |
curl "https://api.tomtom.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_TOMTOM_KEY"curl "https://tomtom.mygeocode.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_MYGEOCODE_KEY"Почему переходят
Бесплатный тариф TomTom даёт 2 500 транзакций в день, столько же, сколько наш, но одна транзакция там может стоить несколько кредитов. Здесь каждый вызов равен одному запросу, а для платного использования есть вариант с фиксированной ценой.
Та же бесплатная квота, с ключом или без. Запросы к tomtom.mygeocode.com учитываются в тех же 2 500 бесплатных запросах в день, которые ваш адрес или ваш ключ получает на наших собственных эндпоинтах. Сверх этого: предоплаченный баланс по 0,0001 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.
Эндпоинты
| Путь на tomtom.mygeocode.com | Что делает | На основе |
|---|---|---|
/search/2/geocode/{query}.json | Геокодирование | Прямое геокодирование |
/search/2/structuredGeocode.json?countryCode=...&streetName=... | Структурированное геокодирование | Прямое геокодирование |
/search/2/reverseGeocode/{lat},{lon}.json | Обратное геокодирование | Обратное геокодирование |
/search/2/search/{query}.json?typeahead=true | Нечёткий поиск с подсказками при вводе | Автодополнение адресов |
Пример ответа
Вот что возвращает запрос выше. Названия полей, вложенность и типы соответствуют TomTom. Наши только данные за ними.
{
"summary": {
"query": "avenida paulista 1578 sao paulo",
"queryType": "NON_NEAR",
"queryTime": 21,
"numResults": 1,
"offset": 0,
"totalResults": 1,
"fuzzyLevel": 1
},
"results": [
{
"type": "Point Address",
"id": "mg.br.addr.7d1a55f2",
"score": 11.98,
"address": {
"streetNumber": "1578",
"streetName": "Avenida Paulista",
"municipalitySubdivision": "Bela Vista",
"municipality": "São Paulo",
"countrySecondarySubdivision": "São Paulo",
"countrySubdivision": "São Paulo",
"countrySubdivisionCode": "SP",
"postalCode": "01310-200",
"countryCode": "BR",
"country": "Brasil",
"countryCodeISO3": "BRA",
"freeformAddress": "Avenida Paulista 1578, Bela Vista, São Paulo, SP 01310-200",
"localName": "São Paulo"
},
"position": { "lat": -23.561414, "lon": -46.655881 },
"viewport": {
"topLeftPoint": { "lat": -23.560514, "lon": -46.656881 },
"btmRightPoint": { "lat": -23.562314, "lon": -46.654881 }
}
}
]
}Подробности и отличия
Для первых 2 500 запросов в день ключ не нужен. Чтобы использовать ключ My Geocode, укажите его там, где был ключ TomTom: в параметре запроса key. Заголовок X-API-Key, Authorization: Bearer и базовая HTTP-аутентификация (ключ в качестве имени пользователя) тоже работают на каждом хосте, поэтому клиентские библиотеки со своим способом аутентификации продолжают работать без изменений.
- Маршрутизируются геокодирование по свободному тексту, структурированное и обратное геокодирование, а также эндпоинт search.
- Ответы сохраняют структуру TomTom с
summaryиresults. - Batch Search работает в обоих режимах.
POST /search/2/batch/sync.jsonобрабатывает до 100batchItemsза раз в структуре TomTom (statusCodeиresponseдля каждого элемента,summary).POST /search/2/batch.jsonпринимает до 10 000 элементов, отвечает 202 с заголовкомLocation, и результат забирается оттуда. Каждый элемент пакета считается одним запросом, как их считает TomTom; пакет, превышающий остаток квоты, отклоняется целиком с ответом TomTom 429, а получение сохранённого результата не учитывается.
Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.
Другие совместимые хосты
- Google Maps
- Bing Maps
- HERE
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.