Телеграм: @bazarow_ru Почта: mihail@bazarow.ru

Вывести свойство привязка к Яндекс Картам в Битрикс

Просмотров: 19476

Часто бывает нужно вывести свойство привязка к Яндекс карте в детальном описании элемента. Например в детальной новости или в детальном элементе каталога. Достаточно часто это нужно при разработке сайта недвижимости или фирменного сайта, для вывода объектов или филиалов, сети офисов и так далее.

У этой заметки есть продолжение: Свойство: привязка к Яндекс:Картам - вывести из нескольких элементов на одну карту

Часто бывает нужно вывести свойство "привязка к Яндекс карте" в детальном описании элемента. Например, в детальной новости или в детальном элементе каталога. Достаточно часто это нужно при разработке сайта недвижимости или фирменного сайта, для вывода объектов или филиалов, сети офисов и так далее.

Для начала в настройках инфоблока создаем новое свойство типа "Привязка к Яндекс картам", затем выводим необходимый компонент в публичной части сайта и копируем шаблон компонента в шаблон своего сайта

Затем добавляем в template.php шаблона компонента вот такой код

<? $arProperty = $arResult["DISPLAY_PROPERTIES"]; ?> 
 <? if (isset($arProperty['YAMAP'])):?> 
 <? $arPos = explode(",", $arProperty['YAMAP']['VALUE']);?> 
 <div class="yandexmapa"> 
 	<?$APPLICATION->IncludeComponent( 
 		"bitrix:map.yandex.view", 
 		"", 
 		Array( 
 			"INIT_MAP_TYPE" => "MAP", 
 			"MAP_DATA" => serialize(array( 
 			'yandex_lat' => $arPos[0], 
 			'yandex_lon' => $arPos[1], 
 			'yandex_scale' => 13, 
 			'PLACEMARKS' => array ( 
 				array( 
 					'TEXT' => $arProperty["YAMAP"]["VALUE"].", ".$arProperty["YAMAP"]["VALUE"], 
 					'LON' => $arPos[1], 
 					'LAT' => $arPos[0], 
 					), 
 				), 
 			)), 
 			"MAP_WIDTH" => "100%", 
 			"MAP_HEIGHT" => "300", 
 			"CONTROLS" => array("ZOOM", "MINIMAP", "TYPECONTROL", "SCALELINE"), 
 			"OPTIONS" => array("DESABLE_SCROLL_ZOOM", "ENABLE_DBLCLICK_ZOOM", "ENABLE_DRAGGING"), 
 			"MAP_ID" => "" 
 	), 
 	false 
 	);?> 
 </div> 
 <?endif;?>

В атрибуте YAMAP хранится наша связь. Также можно создать свойство адрес (город / улица / дом) - типа строка, карта может получать местоположение с помощью поиска по карте Яндекс и использовать типовой компонент "Яндекс карта: поиск по карте"

В итоге получится примерно так же как я вывел это на одном разрабатываемом сайте по недвижимости Москвы

Михаил Базаров 10.02.2017
Цитата
Константин Нечаев написал:
Как таким же методом вывести карту Гугла?
Просто вызовите компонент Гугл карта из стандартных, правда не помню выпилили его или нет.
Константин Нечаев 10.02.2017
Цитата
Михаил Базаров пишет:
Цитата
Константин Нечаев написал:
Как таким же методом вывести карту Гугла?
Просто вызовите компонент Гугл карта из стандартных, правда не помню выпилили его или нет.
Нашел прямо вариант с кодом.
Сергей Стефанович 18.04.2018
Цитата
Михаил Базаров пишет:
Вставте карту не в template.php а в component_epilog.php тогда кеширование будет работать
а как это сделать??
Михаил Базаров 19.04.2018
Цитата
Сергей Стефанович написал:
Цитата
Михаил Базаров  пишет:
Вставте карту не в template.php а в component_epilog.php тогда кеширование будет работать
а как это сделать??
Создать файл component_epilog.php рядом с template.php и вставить туда
Сергей Стефанович 20.04.2018
Цитата
Михаил Базаров пишет:
Создать файл component_epilog.php рядом с template.php и вставить туда
а как потом вывести это всё в нужном месте в template.php ??

Михаил, не плохо было бы увидеть статью по component_epilog.php. С разъяснением зачем он и как работает.
Михаил Базаров 20.04.2018
Цитата
Сергей Стефанович пишет:
Цитата
Михаил Базаров пишет:
Создать файл component_epilog.php рядом с template.php и вставить туда
а как потом вывести это всё в нужном месте в template.php ??

Михаил, не плохо было бы увидеть статью по component_epilog.php. С разъяснением зачем он и как работает.
Зачем нужен и как используется описано вот здесь. Вроде как и добавить нечего  :)  
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2975
Сергей Стефанович 21.04.2018
Цитата
Михаил Базаров пишет:
Зачем нужен и как используется описано вот здесь. Вроде как и добавить нечего    
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2975
Михаил, читал эту статью несколько раз уже, и блог читал)
но все равно не понял как решить данную задачу, что, куда и как вставлять  :)
Тимур Парфенцев 14.11.2018
Код
'TEXT' => $arProperty["YAMAP"]["VALUE"].", ".$arProperty["YAMAP"]["VALUE"], 
 
А зачем здесь дважды в бабл передавать координату. Попробовал заменить на

Код
"TEXT"=>$arItem["NAME"].",<br> ".$arItem["PREVIEW_TEXT"]
 
Отлично работает. (В списке новостей). Спасибо за решение.
Михаил Базаров 15.11.2018
Цитата
Тимур Парфенцев написал:
Код
 'TEXT' => $arProperty["YAMAP"]["VALUE"].", ".$arProperty["YAMAP"]["VALUE"], 
  
А зачем здесь дважды в бабл передавать координату. Попробовал заменить на

Код
 "TEXT"=>$arItem["NAME"].",<br> ".$arItem["PREVIEW_TEXT"]
  
Отлично работает. (В списке новостей). Спасибо за решение.
Да, видимо продублировал когда копировал
Николай Толстых 16.04.2019
Михаил, спасибо за статью. Подскажите, а как быть со списком новостей (news.list)? В итоге подключаются сразу множество компонентов bitrix:map.yandex.view. Может как то отдельно свойство
Код
<?=$arItem['DISPLAY_PROPERTIES']['YAMAP']['VALUE']?>
выводить? Но так выползают только координаты.

Записная книжка разработчика

Примерно с 2013-го года пишу заметки по разработке сайтов на Битрикс.
Вы можете задавать уточняющие вопросы в комментариях- отвечаю или дополняю заметки по возможности.

Добавление в избранное или отложенные, на AJAX из карточки товара Просмотров: 29256 В этой заметке рассакажу как добавлять товары в "Отложенные", для иммитации функционала "И... Сортировка элементов по индексу сортировки значений типа список Просмотров: 11628 Внутри любого компонента есть заранее заложенные поля для сортировки элементов. МОжно сорт... Определить местоположение пользователя и показать магазины поблизости... Просмотров: 1846 Задача: в мобильном приложении, которое открывает сайт на 1С-Битрикс внутри себя, нужно оп... Бонус за выполненный заказ на внутренний счет пользователя Просмотров: 5097 Задача: после того как заказ, в интернет-магазине, перешел в статус "Выполнен" начислить п... Очистить брошенные корзины с помощью API 1С-Битрикс Просмотров: 1185 Задача: в интернет-магазине накапливается большое количество брошенных корзин, нужно их оч... Простые калькуляторы в карточке товара каталога на Битрикс Просмотров: 16201 На одном из создаваемых сайтов было необходимо сделать небольшой калькулятор и предварител... Композитный сайт на 1С-Битрикс Просмотров: 3615 Для новых клиентов: Все новые проекты будут включать в себя применение технологии "Компози... Ускорение работы сайта на 1С-Битрикс Просмотров: 17806 Данная статья написана специально под видеоролик (приложен в конце статьи), опубликованный... Как вывести картинки к разделам на базе _ext меню Просмотров: 7653 Просто для эстетической красоты, нужно вывести в меню разделов сайта картинки или иконки. ... Сниппеты типографики bootstrap, для Битрикс Просмотров: 8280 Если вы подключили bootstrap к своему сайту, или сверстали весь шаблон, подключив bootstra... Заполнить картинки разделов каталога из картинок товаров Просмотров: 966 Задача: в каталоге, разделы и подразделы выводятся в виде плитки над товарами, с картинкам... Хостинг панель BrainyCp: оптимизация под 1С-битрикс Просмотров: 8147 В этой видео-заметке расскажу как установить и оптимизировать панель управления сервером B... Ajax форма обратной связи, реализация в битрикс Просмотров: 8704 Иногда, на сайте требуется создать форму обратной связи, которая будет писать все данные в... Если пользователь авторизован то... API Битрикс Просмотров: 23778 Достаточно часто, при создании сайта на битрикс нужно вывести в шаблон или компонент, неку... Снять ограничение на количество символов в комментарии к заказу магаз... Просмотров: 12636 Как многим известно, в интернет-магазине на Битрикс имеется ограничение на количество симв... Получение доступа к железу устройства из Битрикс мобильное приложение Просмотров: 6322 Документация к мобильному приложению 1С-Битрикс очень куцая. В основном описывает функцион... Звездочки в рейтинге Битрикс статей и новостей Просмотров: 18976 Стандартный вид рейтинга в новостях Битрикс, ну скажем так- не очень красив. Давайте его п... Если товар в корзине, поменять кнопку на "В корзине" в новом шаблоне ... Просмотров: 1795 Ранее я уже делал заметку на эту тему. Тогда, мы меняли значение input-а при добавлении то... Минимальная сумма заказа в корзине и оформлении заказа в 1С-Битрикс Просмотров: 9832 В этой заметке добавим возможность установки минимальной суммы заказа, в новом шаблоне кор... Умный фильтр на главной странице Битрикс Просмотров: 22322 Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу...