Поведения Яндекс.Карт (behaviors)

project author

Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях


В предыдущем материале Параметры Яндекс.Карт мы с Вами рассмотрели параметры Яндекс.Карты которые необходимо задать во время инициализации карты и возможно изменять после ее создания.

В данном материале мы рассмотрим что такое поведения карты (behaviors).

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

Например

  • при нажатой левой кнопке мыши и перемещении курсора карта сдвигается вслед за курсором.
  • при прокручивании колесом мыши происходит изменение масштабирования карты
  • при двойном щелчке левой кнопки мыши происходит изменение масштабирования карты
  • и т.д.

Если явно не указать набор поведений при инициализации карты, то ей присваивается набор поведений по умолчанию. Доступ к поведениям карты предоставляется полем behaviors. Так же как и параметры карты, поведения можно изменить после ее создания карты.

 

Указываем набор поведений при инициализации карты

создаем карту указывая набор поведений

<script type="text/javascript">
var myMap;
// при успешной загрузке API выполняется соответствующая функция
ymaps.ready(function(){
    // создание экземпляра карты и его привязка к контейнеру с id="map"
    myMap = new ymaps.Map("map", {
        // центр карты
        center: [55.75396, 37.620393],
        // коэффициент масштабирования
        zoom: 8,
        // тип карты, по умолчанию используется тип карты "схема"
        //type: "yandex#map",
        // подключаем поведения: "по умолчанию"
        behaviors: ["default"]
        // или так - подключаем поведения: "по умолчанию" и редактор маршрутов routeEditor
        behaviors: ["default", "routeEditor"]
        // или так - подключаем поведения: dblClickZoom, scrollZoom, ruler
        behaviors: ["dblClickZoom", "scrollZoom", "ruler"]
        // или так - отключаем все поведения
        behaviors: []
    });
    // ...
    // код работы с поведением Яндекс.Карты
    // ...
}); // end ymaps.ready
</script>

 

Набор поведений Яндекс.Карт

Поведение Описание
drag перетаскивание карты с помощью мыши либо одиночного касания
dblClickZoom масштабирование карты двойным щелчком кнопки мыши
leftMouseButtonMagnifier масштабирование карты при выделении области левой кнопкой мыши
rightMouseButtonMagnifier масштабирование карты при выделении области правой кнопкой мыши
multiTouch масштабирование карты мультисенсорным касанием
routeEditor редактор маршрутов
ruler "Линейка", позволяет отмечать на карте точки и отображать расстояния между ними
scrollZoom масштабирование карты колесом мыши
storage Хранилище классов поведений карты. Добавление нового поведения на карту производится через это хранилище

 

Изменение поведений карты после ее создания

Рассмотрим методы для изменения поведений карты.

Метод Описание
disable() Выключает поведение
enable() Включает поведение
isEnabled Проверяет, включено ли поведение, возвращает Boolean
getParent() Возвращает ссылку на родительский объект
setParent(parent) Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта

 

рассмотрим методы для работа с поведениями на примере поведения drag

// ...
// код работы с поведением Яндекс.Карты
// ...

// включаем поведение "перетаскивание карты с помощью мыши либо одиночного касания"
myMap.behaviors.enable("поведение");
т.е.
myMap.behaviors.enable("drag");

// отключение поведений карты
myMap.behaviors.disable("drag");

// проверяем, включено ли поведение
myMap.behaviors.isEnabled('drag');

// проверяем, если ли поведение не включено, то
if (!(myMap.behaviors.isEnabled('drag'))) {
    // включаем поведение drag
    myMap.behaviors.enable("drag");
}

  Теги: API Яндекс.Карт