Клуб API Карт

Выбор объекта в балуне кластера. исключение на клике

Олег
13 октября 2014, 13:43

В заголовке балуна каждого объекта помимо текста имеется svg-объект.

Проблема в том, что при клике на этот svg-объект в списке объектов кластера выбрасывается исключение:

"Необработанное исключение в строке 14, столбце 128 в http://api-maps.yandex.ru/2.1.16/release/combine.xml?modules=21((370h)32L...

...

0x800a138f - Ошибка выполнения JavaScript: Не удалось получить свойство "contains" ссылки, значение которой не определено или является NULL".

Раньше клик в этом списке вообще только на первой строчке срабатывал. Сейчас на всей области заголовка, но появилась эта проблема...

Версия 2.1 (сейчас не скажу, но в 2.0 кажется тоже самое)

 

Ещё одна проблема: Не отрисовывается иконка кластера, если поменять её дважды, т.е:

cluster.options.set('preset', 'islands#blueClusterIcons');
cluster.options.set('preset', 'islands#redClusterIcons');

... и на карте остаются только цифры.

 

PS. Большое спасибо за ответ в facebook-е. После сообщения 'Я.ру закрыт' решил, что и clubs.ya.ru не работает.

7 комментариев
Подписаться на комментарии к посту
Добрый день. Могли бы вы, если это возможно, предоставить ссылку на страницу? Вы используете макет балуна кластера "аккордеон"? Вы говорите о стандартных иконках в общем списке или о собственных?

К сожалению ссылку дать не могу. :(

Балун по умолчанию. У объектов кластера в .properties.get('balloonContentHeader') содержится html-текст, содержащий в том числе '...'.

Спасибо! Посмотрим
Могли бы вы скинуть весь html, который подставляется в balloonContentHeader ?

Простите, не уточнил. Вся разработка-отладка под IE, вот и забыл. Проявляется под Internet Explorer 11 (в других версиях не знаю).

А текст, например, такой:

http://www.w3.org/2000/svg" version="1.1" width="44" height="28" viewBox="0 0 44 28" >X Объект X

Посмотрел. ошибка действительно есть. Воспроизводиться в IE и в Safari < 7. Поправим в следующем релизе. Пока как решение я вам могу предложить отображаться svg через img или использовать img&base64

Действительно при двойной смене пресета остается только цифра.

Причем проблема воспроизводится только если менять пресет в одном потоке, потому что пример http://api.yandex.ru/maps/jsbox/2.1/clusterer_icon_hover работает корректно. Будем разбираться и чинить, спасибо за репорт