Поиск по карте

API Поиска по организациям

API Яндекс Карт предоставляет сервис поиска по организациям. Сервис предназначен для поиска географических объектов (топонимов) и организаций, позволяет искать дома, улицы, достопримечательности, кафе и другие объекты.

Поиск может производиться в двух направлениях. Прямой поиск подразумевает определение координат объектов по тексту поискового запроса, обратный — нахождение объектов по координатам.

Поиск по организациям c использованием JS API методов

Поиск по организациям c использованием JS API методов возможно с помощью функции ymaps3.search.

Примечание

ymaps3.search — статическая функция для работы с Search API.

Перед использованием этой функции необходимо установить api-ключ для Search API используя метод ymaps3.getDefaultConfig().setApikeys({search: "YOUR_SEARCH_API_KEY"}).
Вы можете получить ключ в Кабинете разработчика.

Функция принимает следующие опции:

Имя

Тип

Описание

bounds?

LngLatBounds

Параметр bounds имеет приоритет над center и span.

center?

LngLat

LngLat центральной точки зоны поиска. Параметр span задает длину области поиска.

limit?

number

Максимальное количество возвращаемых объектов. Параметр должен быть указан явно, если указан параметр offset. Значение по умолчанию - 10. Максимальное значение - 100.

offset?

number

Количество объектов (если будут возвращены), которые пропускаются, начиная с первого. Должен быть указан параметр limit.

span?

LngLat

Параметр span задается двумя числами, которые представляют разницу между минимальным и максимальным значением: долгота, широта.

strictBounds?

boolean

Флаг, определяющий, ограничена ли область поиска указанными параметрами. Ограничение области задается параметрами center и span или bounds. false — область поиска не ограничена true — область поиска ограничена.

text?

string

Строка запроса, представленная текстом или точкой LngLat.

type?

SearchType[]

параметр type определяет тип объектов, по которым выполняется поиск и порядок следования объектов, если запрашиваются оба типа: топонимы, предприятия.

uri?

string

Дополнительная информация об объекте. Значение параметра возвращается в ответе Geosuggest. Чтобы использовать его в запросе, укажите значение вместо текста.

config?

Config

Текущий конфиг.

Возвращает объект типа: SearchResponse.

Параметры:

Имя

Тип

geometry?

{ coordinates: LngLat ; type: "Point" }

geometry.coordinates

LngLat

geometry.type

"Point"

properties

{ description: string ; name: string }

properties.description

string

properties.name

string

Поиск по организациям с помощью HTTP API

Поиск без использования JS API методов возможен с помощью HTTP Поиска по организациям.

Если вам необходимо больше возможностей поиска по организациям можно использовать HTTP API запрос напрямую к сервису:

Функцию ymaps3.search заменяем на HTTP API запрос к сервису API поиска по организациям.

Пример кода:

const httpApiUrl = 'https://search-maps.yandex.ru/v1/';
const queryString = new URLSearchParams({
  apikey: 'YOUR_APIKEY',
  /* другие параметры HTTP API */
}).toString();
const fullUrl = `${url}?${queryString}`;

// Получить ответ от HTTP API
const response = await fetch(fullUrl);

API Геосаджеста

В API Яндекс Карт доступен сервис геосаджеста, который позволяет получать предложения поисковой выдачи во время поиска географических объектов и/или организаций.

Использование геосаджеста c JS API

Поисковые подсказки реализуются с помощью функции ymaps3.suggest, которая принимает следующие опции:

Имя

Тип

Описание

bounds?

LngLatBounds

Параметр bounds имеет приоритет над center и span.

center?

LngLat

LngLat центральной точки зоны поиска. Параметр span задает длину области поиска.

highlight?

boolean

По умолчанию сервис осуществляет подсветку совпадений в результатах и возвращает набор диапазонов индексов, которые можно выделить в интерфейсе. Значение highlight=0 отключает подсветку.

limit?

number

Максимальное количество возвращаемых объектов. Параметр должен быть указан явно, если указан параметр offset. Значение по умолчанию - 10. Максимальное значение - 100.

span?

LngLat

Параметр span задается двумя числами, которые представляют разницу между минимальным и максимальным значением: долгота, широта.

text

string

Пользовательский ввод (префикс). Непустая строка в кодировке UTF-8.

types?

GeoSuggestType[]

Тип объекта в ответе. Поддерживаемые типы:

  • biz — все организации;
  • geo — все географические объекты;
  • street — улица;
  • metro — станция метро;
  • district — район, микрорайон, квартал города, посёлок;
  • locality — село, аул, город, жилой комплекс, садовое товарищество;
  • area — район области, городской совет;
  • province — область, административный округ, город федерального значения;
  • country — страна;
  • house — дом, здание, строение.

Типы перечисляются через запятую, без пробелов. Фильтрация работает через оператор «или», в случае одновременного использования больший тип поглощает меньшие. Например, ...&types=street,geo,station&... будет означать ..&types=geo&....

Возвращает объект типа: SuggestResponseItem.

Параметры:

Имя

Тип

Описание

distance?

Distance

Расстояние до объекта в метрах.

subtitle?

TextWithHighlight

Удобочитаемый объектный субтитр с соответствующей подсветкой.

tags?

string[]

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

title

TextWithHighlight

Удобочитаемый заголовок объекта с соответствующей подсветкой.

uri?

string

Дополнительная информация об объекте, которая может быть использована в HTTP-запросе API геокодера.

Использование геосаджеста c HTTP API

Подключить поисковые подсказки возможно с помощью HTTP API Геосаджеста.

Прямой HTTP API запрос к сервису:

Функцию ymaps3.suggest заменяем на HTTP API запрос к сервису API Геосаджеста.

Пример кода:

const httpApiUrl = 'https://suggest-maps.yandex.ru/v1/suggest';
const queryString = new URLSearchParams({
  apikey: 'YOUR_APIKEY',
  /* другие параметры HTTP API */
}).toString();
const fullUrl = `${url}?${queryString}`;

// Получить ответ от HTTP API
const response = await fetch(fullUrl);

Элемент управления «Поиск по карте»

В JS API реализован элемент управления «Поиск по карте», который позволяет пользователям искать интересующие их объекты на карте. При вводе запроса в строку поиска API производит поиск и отображает результаты на карте.

Элемент управления «Поиск по карте» реализован классом YMapSearchControl.

Предыдущая
Следующая