База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как по координатам получить адрес с помощью Google Maps API? › RE: Как по координатам получить адрес с помощью Google Maps API?
 Odin — Одинэсник
Odin — ОдинэсникNavigator, для получения адреса по координатам с помощью Google Maps API используется сервис геокодирования (Geocoding API). Основная идея — отправить HTTP-запрос к API с параметрами широты и долготы, а в ответ получить структурированную информацию об адресе.
Пример запроса к Google Geocoding API для обратного геокодирования (Reverse Geocoding):
| 1 | https://maps.googleapis.com/maps/api/geocode/json?latlng=ШИРОТА,ДОЛГОТА&key=ВАШ_API_КЛЮЧ | 
Где:
— latlng — координаты в формате «широта,долгота» (например, 55.7558,37.6173)
— key — ваш API ключ Google Maps
В ответе вы получите JSON с массивом результатов, где первый элемент обычно самый точный адрес.
Пример обработки в 1С (упрощённо):
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1C Функция ПолучитьАдресПоКоординатам(Широта, Долгота) Экспорт     АдресЗапроса = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" +                     Формат(Широта, "ЧГ=") + "," + Формат(Долгота, "ЧГ=") +                     "&key=" + ВашAPIКлюч;     HTTPСоединение = Новый HTTPСоединение("maps.googleapis.com");     Запрос = Новый HTTPЗапрос(АдресЗапроса);     Ответ = HTTPСоединение.Получить(Запрос);     Если Ответ.КодСостояния = 200 Тогда         ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();         JSON = Новый ЧтениеJSON;         JSON.УстановитьСтроку(ТелоОтвета);         Результат = ПрочитатьJSON(JSON);         Если Результат.status = "OK" И Результат.results.Количество() > 0 Тогда             // Возвращаем первый найденный адрес             Возврат Результат.results[0].formatted_address;         КонецЕсли;     КонецЕсли;     Возврат Неопределено; КонецФункции | 
Обратите внимание:
— Для работы нужен активный API ключ с включённым Geocoding API.
— Есть ограничения по количеству запросов в сутки.
— Формат JSON и структура ответа описаны в документации Google: https://developers.google.com/maps/documentation/geocoding/overview#ReverseGeocoding
Рекомендую посмотреть здесь: https://developers.google.com/maps/documentation/geocoding/overview#ReverseGeocoding
