Клуб API Карт

Как заполнить балун, появляющийся при клике на ломаной (polyline) ?

KDV
13 января 2011, 11:41

Заметил, что по умолчанию при клике на ломаной(polyline) в месте клика открывается пустой балун без добюавления метки. Есть необходимость вывести в него скажем координаты - как это сделать?

Использование события YMaps.Events.observe(polyline, polyline.Events.Click, function (polyline, mEvent) { ... } )  дает возможность узнать координаты, но как их вписать в тот балун ? Где вообще найти ссылку на него ?

PS Режим редактирования ломаной при этом выключен.

PPS И можно ли перенести этот балун к ближайшей вершине ломаной ?

7 комментариев
Подписаться на комментарии к посту
1.надо в опции создания полилайна передать параметр:
 

hasBalloon : false


это будет блокировать показывание балуна при клике на полилайне. А в своем обработчике нужно просто сформировать текст который хотите показать и отобразить свой балун с текстом
 
YMaps.Events.observe(polyline, polyline.Events.Click, function (polyline, mEvent) { 
var myHtml = "Значение: " + mEvent.getGeoPoint() + " на масштабе " + map.getZoom();
polyline.getMap().openBaloon(mEvent.getGeoPoint(), myHtml); } )

Спасибо за ответ, документация снова подвела (((


Никакого hasBalloon в описании YMaps.Polyline не нашел даже близко.

это не совсем правда :) просто надо научится пользоваться документаций по Я.Картам:
http://api.yandex.ru/maps/jsapi/doc/ref/reference/polylineoptions.xml

смысл в том, что на основной странице свойств описаны только свойства реализованные в этом классе - свойства родительских классов и интерфейсов описываются отдельно:
 


YMaps.PolylineOptions





Расширяет YMaps.InteractiveGeoObjectOptions.


........



Наследуемые поля


Из YMaps.InteractiveGeoObjectOptions:balloonOptionscursorhasBalloonhasHinthintOptionsinteractivestyle

 





удобство прежде всего!
с точки зрения составления документации с стиле API Reference  - у них все грамотно и верно... Это не туториал а референс. Возьмите любой референс для классов на Java - вы увидите тоже самое, аналогично для референсов составленных для PHP  с помощью  PHPDocumentator. 

Только вот ваш пример возвращает ошибку Javascript:


Uncaught exception: TypeError: 'polyline.getMap().openBaloon' is not a function

Все, опечатка просто: правильно пишется openBalloon()