Поиск по карте
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"}).
Вы можете получить ключ в Кабинете разработчика.
Функция принимает следующие опции:
|
Имя |
Тип |
Описание |
|
|
Параметр |
|
|
|
|
|
|
|
|
Максимальное количество возвращаемых объектов. Параметр должен быть указан явно, если указан параметр |
|
|
|
Количество объектов (если будут возвращены), которые пропускаются, начиная с первого. Должен быть указан параметр |
|
|
Параметр |
|
|
|
|
Флаг, определяющий, ограничена ли область поиска указанными параметрами. Ограничение области задается параметрами |
|
|
|
Строка запроса, представленная текстом или точкой LngLat. |
|
|
параметр |
|
|
|
|
Дополнительная информация об объекте. Значение параметра возвращается в ответе |
|
|
Текущий конфиг. |
Возвращает объект типа: SearchResponse.
Параметры:
|
Имя |
Тип |
|
|
{ |
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
Поиск по организациям с помощью 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, которая принимает следующие опции:
|
Имя |
Тип |
Описание |
|
|
Параметр |
|
|
|
|
|
|
|
|
По умолчанию сервис осуществляет подсветку совпадений в результатах и возвращает набор диапазонов индексов, которые можно выделить в интерфейсе. Значение |
|
|
|
Максимальное количество возвращаемых объектов. Параметр должен быть указан явно, если указан параметр |
|
|
Параметр |
|
|
|
|
Пользовательский ввод (префикс). Непустая строка в кодировке UTF-8. |
|
|
Тип объекта в ответе. Поддерживаемые типы:
Типы перечисляются через запятую, без пробелов. Фильтрация работает через оператор «или», в случае одновременного использования больший тип поглощает меньшие. Например, |
Возвращает объект типа: SuggestResponseItem.
Параметры:
|
Имя |
Тип |
Описание |
|
|
Расстояние до объекта в метрах. |
|
|
|
Удобочитаемый объектный субтитр с соответствующей подсветкой. |
|
|
|
|
Теги объектов. Возможные значения: бизнес, улица, метро, район, населенный пункт, область, провинция, страна, гидроэлектростанция, железная дорога, вокзал, маршрут, растительность, аэропорт, другое, дом. |
|
|
Удобочитаемый заголовок объекта с соответствующей подсветкой. |
|
|
|
|
Дополнительная информация об объекте, которая может быть использована в 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.