Всем мир и хорошего дня! Вопрос на засыпку:
https://goo.gl/4Czxvu (обсуждение в Клубе яндекс карт)
Суть проблемы повторно писать не буду, с ней можете ознакомиться по ссылочке сверху.
Заранее большое спасибо за подсказку
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);
}