Клуб API Карт

Ошибка отображения иконки

lena270168
10 января 2010, 19:40

Здравствуйте,

хотела бы задать вопрос по поводу стиля отображения иконок на карте.

Дело в том, что на нашем небольшом сайте компании мы разместили ЯКарту и разместили на ней несколько иконок. Все бы ничего, но заметили, что иконка "Офис продаж" отображается "криво", а именно при загрузке ей автоматически присваивается style="width:13px; height:13px;" и после этого остается видным только "Оф".

Возникает эта проблема только если стоит placemark1.openBalloon(); - если его убрать, что иконка отображается нормально и надпись "Офис продаж" видна полностью.

Помогите, пожалуйста, исправить проблему.

5 комментариев
Подписаться на комментарии к посту
Это наша ошибка. Поправим в следующих версиях.

В качестве временного решения могу посоветовать после открытия балуна у метки вызывать метод update().
var placemark1 = new YMaps.Placemark(new YMaps.GeoPoint(47.202525,56.124657), {balloonOptions: {maxWidth: 300}});
placemark1.setIconContent("Офис продаж");

map.addOverlay(placemark1);
placemark1.openBalloon();
placemark1.update();
Я уж испугалась, что у меня руки кривова-ты)

Просто напросто на другом проекте, карта с теми же параметрами (2 метки, 1 из них "Офис продаж", и она автоматически открывается при загрузке) - все работает более хем хорошо и радует глаз.

Сейчас попробую Вами предложенное решение.
Спасибо за ответ.
Только что добавила placemark1.update(); и все теперь отображается, как и было задумано ранее. Спасибо еще раз.
rodlex,
подскажите, пожалуйста, а что делать, если данная ошибка с шириной и высотой появляется применимо к открытому Balloon

geoResult.setBalloonContent(bubbletext);
var thiscoord = geoResult.getGeoPoint();
map.setCenter(thiscoord, thiszoom);
map.addOverlay(geoResult);
geoResult.openBalloon();
geoResult.update();

У открытого Balloon style="overflow: hidden; width: 94px; height: 15px; max-width: 300px; max-height: 100px;"

Из-за этого из всего текста видно лишь первое слово. Если закрыть и открыть заного все отображается нормально.

Помогите, пожалуйста)
А где можно посмотреть на эту ошибку?

Кстати, чтобы отцентрировать карту по результу геокодирования необязательно делать так:
var thiscoord = geoResult.getGeoPoint();
map.setCenter(thiscoord, thiszoom);
Проще сделать так:
map.setBounds(geoResult.getBounds());