Клуб API Карт

Как убрать появление балуна при клике на метку?

Пост в архиве.

Добрый день.

Есть код вывода метки:

 

<script type="text/javascript">//<![CDATA[

ymaps.ready(function()

{

var map = new ymaps.Map('myYaMap', {

center: [{$obj->shirota}, {$obj->dolgota}],

zoom: 11 });

map.controls

.add('zoomControl', { top: 0, left: 0 });

ymaps.geoXml.load("{$obj->map.code|escape:'javascript'}&id={$obj->ID}").then(function (res)

 {

map.geoObjects.add(res.geoObjects);

map.geoObjects.events.add('click', function(e) { flat_init();});

},

 { });

});

//]]></script>

 

В какое место кода следует вставить hasBalloon:false, что-бы при клике не появлялся балун? Или это можно выполнить другим методом?

 

 

3 комментария
map.geoObjects.add(res.geoObjects);
res.geoObjects.options.set({_сюда_});

Пробовал:

res.geoObjects.options.set({hasBalloon:false});
res.geoObjects.options.set("{hasBalloon:false}");
res.geoObjects.options.set("{'hasBalloon':'false'}");
res.geoObjects.options.set({'hasBalloon:false'});

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

Файл *.tpl, в него вставлен

Вот пример того, как я убрал balloon.

В параметрах добавил hasBalloon:false


// Карта ==========================
ymaps.ready(init); // карта соберется после загрузки скрипта и элементов
var myMap; // заглобалим переменную карты чтобы можно было ею вертеть из любого места
function init () { // функция - собиралка карты и фигни
myMap = new ymaps.Map("map", { // создаем и присваиваем глобальной переменной карту и суем её в див с id="map"
center: [56.352058, 41.302695], // ну тут центр
zoom: 17 // тут масштаб
});

/* Создаем кастомные метки */
myPlacemark0 = new ymaps.Placemark([56.352058, 41.302695], { // Создаем метку с такими координатами и суем в переменную
balloonContent: '<div class="ballon"><span>УФ Печать во Владимирской области.</span><br/><p>без посредников и без предоплаты в день обращения.</p><img class="close" onclick="myMap.balloon.close()" src="../img/prev.png"/></div>' // сдесь содержимое балуна в формате html, все стили в css
}, {
iconImageHref: '../img/map.png', // картинка иконки
iconImageSize: [60, 81], // размер иконки
iconImageOffset: [-32, -64], // позиция иконки
balloonContentSize: [270, 99], // размер нашего кастомного балуна в пикселях
balloonLayout: "default#imageWithContent", // указываем что содержимое балуна кастомная херь
balloonImageHref: '../img/back123.png', // Картинка заднего фона балуна
balloonImageOffset: [-65, -89], // смещание балуна, надо подогнать под стрелочку
balloonImageSize: [260, 150], // размер картинки-бэкграунда балуна
balloonShadow: true,
balloonAutoPan: false // для фикса кривого выравнивания
});
/* тоже самое для других меток */
/* Добавляем */
myMap.geoObjects
.add(myPlacemark0);
/* Фикс кривого выравнивания кастомных балунов */
myMap.geoObjects.events.add([
'balloonopen'
], function (e) {
var geoObject = e.get('target');
myMap.panTo(geoObject.geometry.getCoordinates(), {
delay: 0
});
});
}
});

Из этого, делаем это


// Карта ==========================
ymaps.ready(init); // карта соберется после загрузки скрипта и элементов
var myMap; // заглобалим переменную карты чтобы можно было ею вертеть из любого места
function init () { // функция - собиралка карты и фигни
myMap = new ymaps.Map("map", { // создаем и присваиваем глобальной переменной карту и суем её в див с id="map"
center: [56.352058, 41.302695], // ну тут центр
zoom: 17 // тут масштаб
});

/* Создаем кастомные метки */
myPlacemark0 = new ymaps.Placemark([56.352058, 41.302695], { // Создаем метку с такими координатами и суем в переменную
balloonContent: '<div class="ballon"><span>УФ Печать во Владимирской области.</span><br/><p>без посредников и без предоплаты в день обращения.</p><img class="close" onclick="myMap.balloon.close()" src="../img/prev.png"/></div>' // сдесь содержимое балуна в формате html, все стили в css
}, {
iconImageHref: '../img/map.png', // картинка иконки
iconImageSize: [60, 81], // размер иконки
iconImageOffset: [-32, -64], // позиция иконки
hasBalloon:false,
});
/* тоже самое для других меток */
/* Добавляем */
myMap.geoObjects
.add(myPlacemark0);
}
});

Обновлено 9 февраля, 22:43