Добавление и удаление элементов управления

Как добавить элементы управления на карту

Добавить элементы управления на карту можно двумя способами:

Элементы управления можно добавлять по ключу, либо указав ссылку на экземпляр соответствующего класса (см. список доступных элементов управления). Чтобы добавить на карту встроенный набор элементов управления, нужно указать ключ этого набора.

Добавление элементов через конструктор карты

При создании карты можно настроить список элементов управления, которые будут добавлены на карту. Для этого в конструкторе карты нужно указать опцию controls – массив, содержащий ключи элементов управления или ссылки на экземпляры соответствующих классов.

Если в конструкторе карты не задана опция controls, на карту будет добавлен стандартный набор элементов управления (набор 'default'). Если необходимо создать карту без элементов управления, в опции controls следует задать пустой массив.

// Пример 1.
// Зададим в конструкторе карты стандартный набор элементов управления
// и добавим к нему панель маршрутизации. 
var myMap = new ymaps.Map('map', {
        zoom: 12,
        center: [59.93772, 30.313622],
        controls: ['default', 'routeButtonControl']
    });
// Пример 2. Создадим экземпляры элементов «Геолокация» и «Поиск по карте».
var geolocationControl = new ymaps.control.GeolocationControl(),
    searchControl = new ymaps.control.SearchControl({
        options: {
            // Зададим опции для поисковой строки.
            // Скроем панель с поисковыми подсказками.
            noSuggestPanel: false    
        }
    }),
// Добавим элементы на карту.
    myMap = new ymaps.Map('map', {
        zoom: 12,
        center: [59.93772, 30.313622],
        controls: [geolocationControl, searchControl]
    });
// Пример 3. Создадим карту без элементов управления.
var myMap = new ymaps.Map('map', {
        zoom: 12,
        center: [59.93772, 30.313622],
        controls: []
    });

Добавление элементов через метод map.controls.add()

В качестве первого аргумента методу map.controls.add() необходимо передать ключ элемента управления либо ссылку на экземпляр соответствующего класса. Вторым аргументом могут быть переданы параметры элемента управления.

// Создадим карту без элементов управления.
var myMap = new ymaps.Map('map', {
        zoom: 12,
        center: [59.93772, 30.313622],
        controls: []
    });

// Добавим на карту ползунок масштаба и линейку.
myMap.controls.add('zoomControl');
myMap.controls.add('rulerControl', {
    // Отключим отображение масштабного отрезка рядом с линейкой.
    // Подробнее о настройке опций.
    scaleLine: false
});

Открыть примеры в песочнице

Как удалить элементы управления с карты

Для удаления элемента управления с карты предназначен метод map.controls.remove(). В качестве аргумента методу нужно передать ключ элемента управления или ссылку на экземпляр соответствующего класса.

// Удалим с карты «Ползунок масштаба».
myMap.controls.remove('zoomControl');