Задать вопрос
Tpona
@Tpona
Ужасный перфекционист

Не отображаются балуны при клике по метке?

Добрый день, запилил пост на яндексе в клабе мапапи, но пока там не получил ответа почему же у меня не показываются балуны?

Использую код из примера, практически 1в1:
$(function(){
            ymaps.ready(init);
            var map = null;

            $("#'.$mapDialog->id.'").on("shown.bs.modal", function(e){
                // Изменим размеры контейнера карты
                //map.container.getElement().style.width = "500px";
                //map.container.getElement().style.height = "450px";
                // Инициируем пересчет размеров
                if (map)
                map.container.fitToViewport();                            
            });

            function init() {
                var balloons = '.  json_encode($this->balloons).';
                $("#'.$this->triggerId.',.'.$this->triggerClass.'").removeClass("disabled");
                $("#'.$this->triggerId.',.'.$this->triggerClass.'").on("click",
                    function () {
                        if (map == null) {
                            ymaps.modules.require(["Map", "Placemark"]).spread(function(Map, Placemark) {
                                map = new ymaps.Map("simple-map", {
                                    center: ['.$this->centerFi.', '.$this->centerLam.'],
                                    zoom: '.$this->zoom.',
                                });
                                
                                
                                for (i=0; i<balloons.length; i++ ){
                                    var placemark = new Placemark(
                                        [balloons[i].coordFi, balloons[i].coordLam], {
                                        balloonContentHeader    : balloons[i].balloonContentHeader,
                                        balloonContentBody      : balloons[i].balloonContentBody,
                                        //balloonContentFooter  : blloons[i].balloonContentFooter,
                                        hintContent             : balloons[i].hintContent,
                                        //balloonContent          : balloons[i].hintContent,
                                    }, {
                                        hasBalloon : true,
                                        openEmptyBalloon : true,
                                        openEmptyHint : true,
                                        openHintOnHover : true,
                                        syncOverlayInit : true,
                                        visible : true,
                                    });
                                    map.geoObjects.add(placemark);
                                }
                            },this)
                        } else {
                            map.destroy();// Деструктор карты
                            map = null;
                        }
                    });
                    $("#'.$mapDialog->id.'").on("hidden.bs.modal", function (e) {
                        if (map) {
                            map.destroy();// Деструктор карты
                            map = null;
                        }
                    })
                }
                
        });


Метка добавляется, а баллун при клике по ней не появляется.
  • Вопрос задан
  • 1202 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
forgotten
@forgotten
Руководитель разработки API Яндекс.Карт
Судя по коду, вы подключаете API не с package.full?
Тогда вам нужно дополнительно загружать аддоны балуна для тех объектов, которым вы хотите приписывать балуны. В частности, map.addon.balloon и geoObject.addon.balloon
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/refe...
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/refe...
То же самое с хинтом и редакторами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы