Клуб API Карт

Создание простого редактора меток для API 2.0

Пост в архиве.
dima-besh
11 января 2013, 21:37

Пытаюсь переписать редактор меток под API 2.0 (http://ymapsapi.ya.ru/replies.xml?item_no=15)

Очень жду Екатирину Текунову, а пока пара вопросов 

1. Есть метка со свойством 'description'. Пользователь нажимает на метку. Открывается балун с формой

для редактирования 'description', кнопками "ОК" и "Удалить метку".

Как реализовать работу кнопок?

Пытаюсь через шаблоны - может так совсем не правильно? Т.е. из метки через шаблон в балун свойства передаются - а нужно назад.

var balloonEditLayout = ymaps.templateLayoutFactory.createClass(
     '<table class="b-point-params"><tr>\
      <td>Описание:</td>\
      <td><textarea id="baloon_description">$[properties.description]</textarea></td>\
      </tr><tr>\
      <td><input id="deletePointButton" type="button" value="Удалить"/></td>\
      <td><input class="right" id="savePointButton" type="button" value="OK"/></td>\
      </tr></table>', {
//ставим обработчики на кнопки "ОК", "Удалить" в балуне
build: function () {
      balloonEditLayout.superclass.build.call(this);
      jQuery('#savePointButton').bind('click', this.onSavePointButton);
      jQuery('#deletePointButton').bind('click', this.onDeletePointButton);
},
clear: function () {
      jQuery('#savePointButton').unbind('click', this.onSavePointButton);
      jQuery('#deletePointButton').unbind('click', this.onDeletePointButton);
      balloonEditLayout.superclass.clear.call(this);
},
onSavePointButton: function () {
      //сохранить данные из балуна в свойста метки <-- что сюда писать ?
},
onDeletePointButton: function () {
      //удалить метку <-- что сюда писать  ?
}
}
);

 

 2. (не очень важно) Как добавить кнопку "Установка точек" на карте, чтобы нажималась как радиобатон к стандартным кнопкам ("Рука", "Лупа", "Линейка") - т.е. при нажатии на эту новую кнопку стандартные перестают быть нажатыми

2 комментария

1. Я недавно делал подобный редактор. Правда он не до конца готов, но можно посмотреть что к чему.

2. Посмотрите в документации по контролам есть RollupButton он по идее для этого и нужен. Если не походит можно просто добавить все ваши кнопки в тулбар и при клике на любую кнопку в тулбаре вызывать deselect у всех кроме этой

Я тут :-) А вы меня зачем ждете? Я, кажется, что-то забыла/пропустила?