Answer the question
In order to leave comments, you need to log in
Problem with opening balloon in objectmanager, can you help?
Peace to all and have a nice day! Question for filling: https://goo.gl/4Czxvu (discussion in the Yandex Maps Club)
I will not re-write the essence of the problem, you can familiarize yourself with it at the link above.
Many thanks in advance for the tip
function get_show_balloon(marker_id, current_marker) {
//var new_center = current_marker.geometry.coordinates;
//yMap_ob.setCenter(new_center, 16);
console.log(current_marker);
//TODO На данный момент данный аякс запрос полностью дублирует запрос для вывода списка в правой колонке, но в будущем сможет пригодиться + надо бы проверить рентабельность большого числа запросов или все делать в одном или как-то разделять. Если маркеры пришли по отрисованному полигону, то можно и сразу прописывать в них балуны? Экономия на колличестве запросов к серверу.
//Получение контента балуна
var marker_id_injson = {
id: marker_id
}
//Проверяем, есть ли у маркера балун, если нет, то грузим, ели есть то открываем
if (hasBalloonData(current_marker)) {
markerManager.objects.balloon.open(marker_id);
} else {
$.ajax({
type: "POST",
url: "get_baloon.php",
dataType: "json",
data: marker_id_injson,
async: false,
success: function (data) {
//шаблон информации в балуне
//TODO change link
var balloon_content = "<a target='_blank' href='http://198.199.124.81/s_rent/catalog_full' class='balloon_content'><img src='img/list_img/1.jpg' alt=''><div class='balloon_desc'><span class='balloon_address'>Ул. " + data["street"] + " д. " + data["home_num"] + "</span><span class='balloon_info'>Площадь: " + data["squre_ciunt"] + "м² Комнат:" + data["room_count"] + " Этаж: " + data["floor"] + "/" + data["flor_of"] + "</span></div></a>";
//Прописываем в объект маркера контент балуна
current_marker.properties.balloonContent = balloon_content;
//Открываем балун у маркера
markerManager.objects.balloon.open(marker_id);
}
});
}
//положение маркера
var new_center = current_marker.geometry.coordinates;
//преобразование строчки в число
new_center[0] = parseFloat(new_center[0]);
new_center[1] = parseFloat(new_center[1]);
console.log(new_center);
yMap_ob.setCenter(new_center, 15);
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question