VladimirZhid
@VladimirZhid
Нравится делать что-то интересное и полезное.

Проблеме с открытием балуна в objectmanager, поможете?

Всем мир и хорошего дня! Вопрос на засыпку: 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);
}
  • Вопрос задан
  • 1361 просмотр
Решения вопроса 1
forgotten
@forgotten
Руководитель разработки API Яндекс.Карт
Вы хоть напишите, в какой фрагмент кода смотреть.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы