---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/examples/cases/find_closest_object.md
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/find_closest_object.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/llms.txt

# Поиск ближайшего объекта

<iframe id="LIVE-EXAMPLE" style="width:100%;height: 400px;border-radius: 8px;border: 1px solid rgba(92, 94, 102, 0.14);" frameBorder="0" src="https://yastatic.net/s3/front-maps-static/maps-front-jsapi-v2-1/examples/2/out/s3-cases/ru/find_closest_object/index.html" allow="fullscreen"></iframe>

<a target="_blank" rel="noopener noreferrer" style="display: inline-block;margin-top: 10px;cursor: pointer;border-radius: 4px;padding: 9px 12px;background: #151515;color: white;text-decoration: none;font-weight: 500" href="https://codesandbox.io/p/sandbox/l9fwdt?file=index.html">Open in CodeSandbox</a>

<div id="references">
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ready">ready</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map">Map</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Placemark">Placemark</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geocode">geocode</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geoQuery">geoQuery</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/GeoQueryResult">GeoQueryResult</a>
</div>
<p>
    С помощью объекта <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/GeoQueryResult">GeoQueryResult</a> можно создавать объекты на карте из их JSON-описания.
</p>
<p>
    В данном примере рассматривается, как найти объекты выборки, ближайшие к произвольному объекту на карте (например к метро).
    А также как находить объекты, ближайшие к месту клика.
</p>

{% list tabs %}

-   index.html

    ```html
    <!DOCTYPE html>

    <html>
        <head>
            <title>Поиск ближайшего объекта</title>
            <meta
                http-equiv="Content-Type"
                content="text/html; charset=utf-8"
            />
            <!--
            Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
            Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
        -->
            
            
            
        </head>
        <body>
            <p>
                При клике на карту будет открываться балун ближайшей к месту
                клика метки
            </p>
            <div id="map"></div>
        </body>
    </html>
    ```

-   find_closest_object.js

    ```js
    ymaps.ready(init);

    function init() {
        var myMap = new ymaps.Map(
                "map",
                {
                    center: [55.73, 37.75],
                    zoom: 12,
                },
                {
                    searchControlProvider: "yandex#search",
                }
            ),
            cafe,
            metro;

        function findClosestObjects() {
            // Найдем в выборке кафе, ближайшее к найденной станции метро,
            // и откроем его балун.
            cafe.getClosestTo(metro.get(0)).balloon.open();

            // Будем открывать балун кафе, который ближе всего к месту клика
            myMap.events.add("click", function (event) {
                cafe.getClosestTo(event.get("coords")).balloon.open();
            });
        }

        // Описания кафе можно хранить в формате JSON, а потом генерировать
        // из описания геообъекты с помощью ymaps.geoQuery.
        cafe = ymaps
            .geoQuery({
                type: "FeatureCollection",
                features: [
                    {
                        type: "Feature",
                        properties: {
                            balloonContent:
                                'Кофейня "Дарт Вейдер" - у нас есть печеньки!',
                        },
                        geometry: {
                            type: "Point",
                            coordinates: [55.724166, 37.545849],
                        },
                    },
                    {
                        type: "Feature",
                        properties: {
                            balloonContent:
                                'Кафе "Горлум" - пирожные прелесть.',
                        },
                        geometry: {
                            type: "Point",
                            coordinates: [55.717495, 37.567886],
                        },
                    },
                    {
                        type: "Feature",
                        properties: {
                            balloonContent:
                                'Кафе "Кирпич" - крепкий кофе для крепких парней.',
                        },
                        geometry: {
                            type: "Point",
                            coordinates: [55.721018, 37.631057],
                        },
                    },
                ],
                // Сразу добавим точки на карту.
            })
            .addToMap(myMap);

        // С помощью обратного геокодирования найдем метро "Кропоткинская".
        metro = ymaps
            .geoQuery(ymaps.geocode([55.744828, 37.603423], { kind: "metro" }))
            // Нужно дождаться ответа от сервера и только потом обрабатывать полученные результаты.
            .then(findClosestObjects);
    }
    ```

{% endlist %}
