Яндекс карты 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)
}
})