Поиск организаций и геопоиск

Open in CodeSandbox

Элемент управления «поиск по карте» умеет находить адреса и организации. Например: кафе, рестораны или аптеки. Для поисковой строки можно программно задать поисковый запрос или ограничить область подсказок и поиска.

Чтобы научить элемент управления искать организации, необходимо подключить определенный провайдер данных — «yandex#search». Рассмотрим на примере, как это сделать.

<!DOCTYPE html>
<html>
    <head>
        <title>Поиск организаций и геопоиск</title>
        <meta
            http-equiv="Content-Type"
            content="text/html; charset=utf-8"
        />
        <!--
        Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
        Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
    -->
        <script
            src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=<ваш API-ключ>"
            type="text/javascript"
        ></script>
        <script src="search_control_ppo.js" type="text/javascript"></script>
        <style>
            html,
            body,
            #map {
                width: 100%;
                height: 100%;
                padding: 0;
                margin: 0;
            }
        </style>
    </head>
    <body>
        <div id="map"></div>
    </body>
</html>
function init() {
    var myMap = new ymaps.Map("map", {
        center: [55.74, 37.58],
        zoom: 13,
        controls: [],
    });

    // Создадим экземпляр элемента управления «поиск по карте»
    // с установленной опцией провайдера данных для поиска по организациям.
    var searchControl = new ymaps.control.SearchControl({
        options: {
            provider: "yandex#search",
        },
    });

    myMap.controls.add(searchControl);

    // Программно выполним поиск определённых кафе в текущей
    // прямоугольной области карты.
    searchControl.search("Шоколадница");
}

ymaps.ready(init);