Anumik
@Anumik

Почему не отображаются данные из ИБ Битрикс при выводе в Яндекс.Карте?

Добрый день!

Программировать начал недавно, по этому иногда могу подтупливаю, но обычно получается разобраться, но сейчас столкнулся с проблемой
На сайте стоит битрикс, необходимо передавать в яндекс.карты точки, которые заданы элементами инфоблока

Получился такой код:
<script type="text/javascript">
ymaps.ready(function () {
    var myMap = new ymaps.Map('map', {
            center: [48.479862298148, 135.07525863163],
            zoom: 9
        }, {
            searchControlProvider: 'yandex#search'
        }),
        <?foreach($arResult["ITEMS"] as $arItem):?>//цикл на добавление точек
            <?
                $arMark = explode(",",$arItem["PROPERTIES"]["POINT"]["VALUE"]);
                $centerMap[0] += $arMark[0];
                $centerMap[1] += $arMark[1];
                $countMark++; //получаем координаты
            ?>
        myPlacemark = new ymaps.Placemark([<?=$arMark[0]?>, <?=$arMark[1]?>], {}, {
            // Опции.
            // Необходимо указать данный тип макета.
            iconLayout: 'default#image',
            // Своё изображение иконки метки.
            iconImageHref: 'images/map-target.png',
            // Размеры метки.
            iconImageSize: [30, 42],
            // Смещение левого верхнего угла иконки относительно
            // её "ножки" (точки привязки).
            iconImageOffset: [-3, -42]
        });
        <?endforeach;?>

    myMap.geoObjects.add(myPlacemark);
});
</script>


Проверял на локалке без кода битрикса сам задавал точку работало нормально, но здесь все связать не \
получилось

Выводил сам массив и отдельно точки, все данные подключаются нормально
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
Anumik
@Anumik Автор вопроса
Нужно было добавить кластер

<script type="text/javascript">
ymaps.ready(init);
    var myMap;
    var clusterer;
    var clustererF;

    var balunIcon = {
            iconLayout: 'default#image',
            iconImageHref: '<?=SITE_TEMPLATE_PATH?>/img/map-target.png',
            iconImageSize: [26, 36],
            iconImageOffset: [-13, -18]};
function init(){
   	
   	myMap = new ymaps.Map('map', {
            center: [48.479862298148, 135.07525863163],
            zoom: 9
        });
        clusterer = new ymaps.Clusterer({
            preset: 'islands#invertedRedClusterIcons',
        });

        <?foreach($arResult["ITEMS"] as $arItem):?>//цикл на добавление точек
            <?
                $arMark = explode(",",$arItem["PROPERTIES"]["POINT"]["VALUE"]);
                $centerMap[0] += $arMark[0];
                $centerMap[1] += $arMark[1];
                $countMark++; //получаем координаты
            ?>
        myPlacemark = new ymaps.Placemark([<?=$arMark[0]?>, <?=$arMark[1]?>], {}, balunIcon);
        	<?
				$thisMark = $arMark;
			?>
			clusterer.add(myPlacemark);
        <?endforeach;?>
       
myMap.geoObjects.add(clusterer);
}
</script>


В итоге заработало и корректно выводит массив точек
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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