Клуб API Карт

Ошибка при отображении Placemark (JS API 2.0)

marbius
23 апреля 2012, 20:32

Создаю Placemark

pm=new ymaps.Placemark(pos,{iconContent:'123456789'},{preset: 'twirl#redStretchyIcon',visible:false}) ;

после pm.options.set('visible', true) иконка отображается корректно (растянута на ширину контента);

после первого pm.options.set('visible', false)  иконка больше не растягивается на ширину контента.

[добавлено]

и "съезжают" ее первоначальные координаты

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

Спасибо, stretchy вообще не умеют работать в невидимом состоянии. Возможно где-то они об этом забыли.

Значит ли Ваш ответ, что в будущем это будет исправлено и можно будет "прятать" strechy метки? Если да, то насколько скоро?

 

PS. Я писАл (http://clubs.ya.ru/mapsapi/replies.xml?item_no=23823), что не хватает подобия баг-репорта с отметками состояния, а то все недочеты вы вроде бы и принимаете, но вот дальнейшая их судьба непонятна...

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

Как только мы исправим баги, которые нам зарепортили, их оттестируют и мы выкатим исправленную версию. Не волнуйтесь, мы правда работаем)

Я не говорю, что вы не работаете.

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

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

Кстати, попутно пара вопросов.

А как часто вы "выкатываете" исправленные версии и как узнать, что версия исправлена? Или 2.0 будет 100% такой, какой она есть сейчас, без единой правки?

Следующая версия будет 2.0.8. Интерфейсы меняться не будут, будут только дополнения и фиксы багов. 2.0.8 планируется в мае, если не случится чего-то непредвиденного.

только что еще раз все проверил - любые иконки нормально отрабатывают visible.

Можете показать свой пример где это не так.

Отправил код на почту, указанную у Вас в профиле

Эх, так и вышло.

Вы явно тестировали не в сафари и не в фоксе.

В хроме для при анимации зума слой с оверлеями скрывается. Как я выше писал - иконки с контентом не работают когда не видимы.

Вы пытаетесь выставить им visible когда ее не видно, а скрытые элементы не могут расчитать свой размер.

Если сделать операцию через таймаут - все будет работать.

К сожалению сейчас словить событие в "правильный" момент не получится.

В начале сообщение получите вы, потом контейнер станет виден.

Я вам ответил на почту куском кода который работает, сам его использую :)

 

 

Ответ ясен, но выглядит как "мега-хак" :)

стОит этот момент обязательно объяснить в справке, чтобы такое поведение было более очевидным, т.к. подозреваю не я такой один есть и будут еще люди с подобными вопросами

Спасибо.

зачем на почту? он секретный? =)

выложил бы здесь

я полный пофикшенный пример переслал.

Суть в том что нельзя по событию boundschange\actionend создавать(или показывать) тянушиеся метки, ну и балуны.

Потому что контейнер еще скрыт.

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

а я хотел было разместить все исходники с отметкой "РЕШЕНИЕ", но как представил кучу авто-смайликов делать это передумал... потому и предложил внести данное решение в примеры и/или справку в дальнейшем... потому как сильно не очевидное решение, которое, на мой взгляд, требует углубленных познаний работы API