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>


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

Выводил сам массив и отдельно точки, все данные подключаются нормально
  • Вопрос задан
  • 249 просмотров
Решения вопроса 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>


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

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект