Клуб API Карт

Изменение текста балуна для wayPoints GeoObjectCollection

mogafk2016
16 октября 2015, 07:08

Есть некоторый код, что делает метки маршрута перетаскиваемыми и вешает на dragend некоторый обработчик, который должен поменять $scope и запустить $digest-цикл.

this.route = function(arrPoints){
    var map = this.map;
map.geoObjects.removeAll();
    ymaps.route(arrPoints, {}).then(function(route){
         route.getWayPoints().options.set({
            draggable: true
         });
route.getWayPoints().each(function(wayPoint, index){
wayPoint.events.add("dragend", function(event){
                 arrPoints[index] = wayPoint.geometry.getBounds()[0];
$rootScope.$apply();
             })
      });
map.geoObjects.add(route);
   });
}

Из документации, мы знаем, что каждый wayPoint имеет поле balloon. Значит теоритически мы можем поменять его текст, но как не описано ни в map.Ballon, ни в IBalloonManage, ни в IPopupManager. Попытки сделать wayPoint.balloon.setData("balloonContent","text") или wayPoint.balloon.setOptions({"balloonContent": "text"}) так же не дают желаемого результата. Попытки открыть какой-то балун с помощью open() передавая вторым параметром текст так же безуспешны...

Возможно wayPoint.options имеет balloonContent, но чот тож никак.

Возможно необходимо воспользоваться templateLayoutFactory, но как ее применить я не совсем понимаю.

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

Итак. Вопрос: как изменить текст балуна для wayPoint?(я видел похожие вопросы, например Маршрут - балун на WayPoint)

Зарание сорян за тупость

п.с: так и не удалось нормальную табуляцию для кода сделать, поэтому можно посмотреть тут, хотя он и не несет особо никакой пользы для понимания проблемы https://gist.github.com/anonymous/7d6deb0adcc5785e4bea

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

Забавная штука. Текст балуна для wayPoint можно поменять просто поставив properties balloonContent, но!!ток после добавления маршрута на карту map.geoObject.add(route)

Тащем-та магия какая-то для меня.:-@