Клуб API Карт

Как создать свой control в api 2

dneprov777
22 мая 2012, 03:16

Буду благодарен за помощь с созданием своих элементов управления

 

Просьба привести пример создания своего control

пусть в нем просто выводится произвольный html код (то есть все статично, ничего не меняется)

 

для api 1 в документации был рабочий пример, а в api 2 не вижу даже похожих конструкторов.

 

Уверен многим будет полезно это на практике.

Спасибо за помощь

4 комментария
Подписаться на комментарии к посту

Что вы подразумеваете под своим контролом?

Для того чтобы создать свой контрол достаточно что-то положить в map.panes.get('controls');

Можно также это что-то добавить в map.controls, для этого это что-то должно сделать интерфейсу icontrol, вся "суть" которого - разположить свой элемент в this.getParent().getChildElement(this) - ноде в которую родительский контрол хочет вас расположить.

Например я хочу вывести поле свое input сверху карты - как это сделать?

раньше я создавал объект с методами onAddToMap onRemoveFromMap

Сейчас требуется примерно тоже самое.

создать обьект с методом setMap - куда передается карта - и это типа onAddToMap либо null - это типа onRemoveFromMap

В момент получения карты спросить ноду контролов - map.panes.get('controls').getElement() и добавить в него свой инпут в нужной позиции.

В коде - создать карту, свой контрол, сделать control.setMap(map)

Нормальный "честный" вариант сейчас к сожалению не задукоментирован - а значит он может и поменяться, но и такого должно по идее хватить.

Спасибо,, буду развираться

если есть возможность - буду очень признателен за пример кода