Клуб API Карт

Вопрос-предложение по событиям объекта Map

vialorn
1 июля 2010, 12:27

При открытии балуна в него передается указатель на карту. А почему бы не передавать дополнительно объект контекста, если балун открывается для него, например Placemark? Вообще, необходимость навешивать обработчик на каждый экземпляр в группе объектов мне представляется не самым лучшим решением. Было бы интереснее навешивать единственный обработчик на группу/карту, в который дополнительным параметром передавался бы объект контекста.

Или я отстал от жизни, и это уже реализовано как-то по другому?

Конкретный пример: на карте множество меток, которые создаются и удаляются по мере перемещения области отображения. Общее количество меток может переваливать за тысячу. Создавать контент балунов заранее в этом случае накладно. Передача значений через MetaDataProperty и использование шаблонов перестает спасать в ситуации, когда требуется условная логика, т.е. некоторые блоки в балуне попросту не должны появляться вообще, если данные пустые. Соответственно, нужно перехватывать момент клика по метке, генерировать контент и открывать балун ручками.

3 комментария
Подписаться на комментарии к посту
Спасибо за предложение. У нас есть идея которую мы называем "контекст события", но для ее реализации нужно сломать обратную совместимость. Вот как накопим достаточное количество идей и решимости, сделаем новую лучшую версию.

Условную логику можно и нужно унести в свой макет (ILayout), который привязать ко всем тербуемым объектам через balloonContentStyle. Если возникнут вопросы по реализации, спрашивайте.
почитал сдесь: http://ymapsapi.ya.ru/replies.xml?item_no=28&ncrnd=6957
пробую сделать - вроде получается:-)и контент балуна создается яваскриптом, со всеми возможностями по логике, и вызывается построение только ри открытии балуна, и даже обработчики навешивать не приходится. жаль только, что логика для меня была неочевидная, а в документации не шибко эти моменты освещаются.

предложение: когда статейки в клубе публикуются, на соответствующих страницах документации - ставьте ссылочки.
Спасибо за пожелание. Постараемся расписать эту часть в документации более подробно.