Skip to main content

Обратное геокодирование

Обратное геокодирование используется в случаях, когда вам нужно получить текстовый адрес по переданным координатам. Например, по координатам 59.962670, 30.350798 получить адрес "Санкт-Петербург, улица Комиссара Смирнова 9".

Полное описание API обратного геокодирования доступно здесь. По этой же ссылке Вы можете протестировать нужные вам запросы.

Фильтрация результатов#

В зависимости от вашего сценария поиска Вы можете указать искать только определенный тип объектов - место, улицу, город и т.д. Для этого используйте параметр object_type

Релевантность#

Для улучшения результатов поиска можно указать долготу/широту, используя параметры lat и lon. Тогда геокодер будет искать согласно переданному местоположению, то есть объекты ближайшие к указанным координатам.

Если lat/lon не переданы, то геокодер постарается угадать местоположение пользователя по его IP-адресу.

Структура ответа геокодера#

В теле ответа геокодера (формат JSON) будет содержаться массив с результатами поиска. Каждый элемент будет иметь структуру подобного вида:

  {    "osm_id": 0,    "osm_type": "string",    "object_type": "string",    "lat": 0,    "lon": 0,    "display_name": "string",    "address": {      "name": "string",      "house_number": "string",      "street": "string",      "city": "string",      "city_type": "string",      "district": "string",      "region": "string",      "postcode": "string",      "country": "string"    },    "distance": 0  }

где поле display_name будет содержать полный результат поиска, а секция address будет содержать детали. Это может быть удобно, если Вы хотите отображать результаты поиска в собственном формате.

Поле distance содержит расстояние от пользователя, сделавшего запрос, до найденного объекта.