Skip to main content

Прямое геокодирование

Прямое геокодирование используется в случаях, когда вам нужно получить координаты по вашему поисковому запросу. Например, превратить запрос "метро Невский" в координаты долгота/широта.

Полное описание 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 содержит расстояние от пользователя, сделавшего запрос, до найденного объекта.