Яндекс карты api как сделать draggable: false при нажатии на кнопку

  myPlacemark = new ymaps.Placemark(coordinates, {
      hintContent: '<span class="hint">Меня можно перетащить</span>'
  }, {
      draggable: true,
      iconOffset: [-3, -7],
      preset: 'islands#icon',
  });

Не могу понять как сделать смену draggable: true на false при нажатии на кнопку, которую я сам создаю.


Ответы (1 шт):

Автор решения: YaCor'

Нужно добавить на кнопку event, прослушивающий isSelected(). И в зависимости от состояния кнопки менять опцию draggable. Для примера с прямоугольниками из песочницы Яндекса подойдёт такой код:

   var dragButton = new ymaps.control.Button("dragOff");
    myMap.controls.add(dragButton);
    dragButton.events.add("click", function () {
        if (dragButton.isSelected()==0) {
            myGeoObject.options.set("draggable", false)   
        } else {
            myGeoObject.options.set("draggable", true)
        }
    })
→ Ссылка