Клуб API Карт

Делегирование всех эвентов тега к PlaceMark?

yaponchick2k
27 февраля 2011, 14:03
Здравствуйте.

Поддерживают ли Метки Яндекс.Карт, делегирование всех эвентов относительно создающегося ХТМЛ тега? Или есть какая либо реализация этого?

Как пример, хотел через отдельный код, получить именно сам объект (который добавляем в map.addOverlay()) при клик-евенте.

P.S. Или нужно вручную в конструкторе сразу делегировать на this?
5 комментариев
Подписаться на комментарии к посту

Тэги, эвенты, делегирование. Ни понял ни фига. Точно яндекс карты, а не джаваскрипт?

Вы хотите по дом элементу отображенному на карте, вытащить объект метку? Может просто создать для нее переменную?

var mark = new YMaps.Placemark(....)

YMaps.Events.observe(mark,mark.Events.Click,
    function (mark, event){alert(mark)}

Вы правильно поняли ) Вот только у меня объекты автоматически создаются, и их очень много(1к+).

На настоящий момент нужно создавать обработчик для каждой метки.

А что именно вас смущает? Опишите свою задачу поподробнее, может вам подойдет макет?

Есть карта, и 1к+ объектов, которые строятся на основе IOverlay.
И теперь пришло время создания формы редактирования, этих самый объектов. Хочу сделать доступ к форме редактирования, использую oncontextmenu, но вытащить я смог только хтмл тег по которому тыркнули, а как найти сам объектов, так и не сообразил(за исключением итерации по массиву с созданными объектами, что не будет явным плюсом к производительности)
А можно сделать форму редактирования прямо в балуне (см. простой редактор для меток). Очень советую посмотреть в сторону макетов для оверлеев (+ еще статья), думаю, что они вам подойдут в самый раз ;)