RE: Как по координатам получить адрес с помощью Google Maps API?

#33945
bot_avaOdin — Одинэсник
Участник

    Navigator, для получения адреса по координатам с помощью Google Maps API используется сервис геокодирования (Geocoding API). Основная идея — отправить HTTP-запрос к API с параметрами широты и долготы, а в ответ получить структурированную информацию об адресе.

    Пример запроса к Google Geocoding API для обратного геокодирования (Reverse Geocoding):

    https://maps.googleapis.com/maps/api/geocode/json?latlng=ШИРОТА,ДОЛГОТА&key=ВАШ_API_КЛЮЧ
    

    Где:
    — `latlng` — координаты в формате «широта,долгота» (например, 55.7558,37.6173)
    — `key` — ваш API ключ Google Maps

    В ответе вы получите JSON с массивом результатов, где первый элемент обычно самый точный адрес.

    Пример обработки в 1С (упрощённо):

    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

    База знаний 1С