Совместимая замена Google Maps Platform
Веб-сервисы Geocoding, Places Autocomplete, Time Zone и Elevation отвечают по тем же путям на gapi.mygeocode.com, с той же структурой JSON, что возвращает Google. Измените хост, укажите свой ключ My Geocode в параметре key, и остальной код останется как есть.
Измените одно имя хоста
| Исходный хост |
|
|---|---|
| Используйте вместо него | gapi.mygeocode.com |
| Параметр ключа | key (необязательно: любой адрес получает 2 500 запросов в день без ключа; укажите здесь свой ключ My Geocode, чтобы пользоваться балансом, пакетами и историей использования) |
curl "https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_GOOGLE_KEY"curl "https://gapi.mygeocode.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_MYGEOCODE_KEY"Почему переходят
Google требует платёжный аккаунт и ключ в каждом вызове и выставляет счёт за каждый запрос по каждому SKU. Здесь бесплатный ключ покрывает первые 2 500 вызовов в день, а после этого цена составляет 0,0001 € за запрос или фиксированные 50 € в месяц.
Та же бесплатная квота, с ключом или без. Запросы к gapi.mygeocode.com учитываются в тех же 2 500 бесплатных запросах в день, которые ваш адрес или ваш ключ получает на наших собственных эндпоинтах. Сверх этого: предоплаченный баланс по 0,0001 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.
Эндпоинты
| Путь на gapi.mygeocode.com | Что делает | На основе |
|---|---|---|
/maps/api/geocode/json?address=... | Прямое геокодирование | Прямое геокодирование |
/maps/api/geocode/json?latlng=lat,lng | Обратное геокодирование | Обратное геокодирование |
/maps/api/place/autocomplete/json?input=... | Places Autocomplete (подсказки с координатами) | Автодополнение адресов |
/maps/api/timezone/json?location=lat,lng×tamp=... | Time Zone API (часовые пояса) | Определение часового пояса |
/maps/api/elevation/json?locations=lat,lng|lat,lng | Elevation API (высота) | Определение высоты |
Пример ответа
Вот что возвращает запрос выше. Названия полей, вложенность и типы соответствуют Google Maps. Наши только данные за ними.
{
"results": [
{
"address_components": [
{ "long_name": "1600", "short_name": "1600", "types": ["street_number"] },
{ "long_name": "Amphitheatre Parkway", "short_name": "Amphitheatre Pkwy", "types": ["route"] },
{ "long_name": "Mountain View", "short_name": "Mountain View", "types": ["locality", "political"] },
{ "long_name": "Santa Clara County", "short_name": "Santa Clara County", "types": ["administrative_area_level_2", "political"] },
{ "long_name": "California", "short_name": "CA", "types": ["administrative_area_level_1", "political"] },
{ "long_name": "United States", "short_name": "US", "types": ["country", "political"] },
{ "long_name": "94043", "short_name": "94043", "types": ["postal_code"] }
],
"formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
"geometry": {
"location": { "lat": 37.4224428, "lng": -122.0842467 },
"location_type": "ROOFTOP",
"viewport": {
"northeast": { "lat": 37.4237918, "lng": -122.0828977 },
"southwest": { "lat": 37.4210938, "lng": -122.0855957 }
}
},
"place_id": "mg.us.addr.5e1b2c7a9f",
"plus_code": { "compound_code": "CWC8+W5 Mountain View, CA, USA", "global_code": "849VCWC8+W5" },
"types": ["street_address"]
}
],
"status": "OK"
}Подробности и отличия
Для первых 2 500 запросов в день ключ не нужен. Чтобы использовать ключ My Geocode, укажите его там, где был ключ Google: в параметре запроса key или в заголовке X-Goog-Api-Key. Заголовок X-API-Key, Authorization: Bearer и базовая HTTP-аутентификация (ключ в качестве имени пользователя) тоже работают на каждом хосте, поэтому клиентские библиотеки со своим способом аутентификации продолжают работать без изменений.
- Тела ошибок соответствуют вызванному API: Time Zone API возвращает
errorMessageсоstatus, остальные возвращаютerror_message, пустой список результатов, а затемstatus. - Ответы о часовом поясе используют
ZERO_RESULTSнад открытой водой, как это делает Google, и учитываютlanguage. - Elevation принимает
locations, закодированную ломануюenc:, а такжеpathсsamples, до 512 точек, как разрешает Google; каждая точка здесь считается одним запросом.
Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.
Другие совместимые хосты
- Bing Maps
- HERE
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- TomTom
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.