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

4630  |  11

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

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

Затем добавляем в 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 хранится наша связь. Также можно создать свойство адрес (город / улица / дом) - типа строка, карта может получать местоположение с помощью поиска по карте Яндекс и использовать типовой компонент "Яндекс карта: поиск по карте"

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

Расскажи друзьям-то:
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей
Зарегистрироваться Войти Напомнить пароль
Или войти через социальную сеть:
Константин
Подскажите пожалуйста, а как возможно вывести все элементы на карту из всех инфоблоков?
Михаил Базаров
Цитата
Константин пишет:
Подскажите пожалуйста, а как возможно вывести все элементы на карту из всех инфоблоков?
Воспользуйтесь готовым модулем из маркетплейс http://marketplace.1c-bitrix.ru/solutions/sologroupltd.generalmap/ это дешевле и быстрее нежели писать свой компонент
Артур
Подскажите как вывести фото в метки на яндекс карте?
Михаил Базаров
Цитата
Артур пишет:
Подскажите как вывести фото в метки на яндекс карт
Это нужно создавать свой компанент на основе этих карт или на основе компанента новостей
Евгений
Цитата
выводим необходимый компонент в публичной части сайта и копируем шаблон компонента в шаблон своего сайта
какой компонент лучше всего использовать для этой задачи?
Алена
А как решается проблема с кешированием компонента?
Михаил Базаров
Цитата
Алена пишет:
А как решается проблема с кешированием компонента?
Вставте карту не в template.php а в component_epilog.php тогда кеширование будет работать
Артур
Добрый вечер,
Михаил подскажите пожалуйста как реализовать привязку "яндекс карты" к iblock.element.add.form в публичной части?
поле привязки к инфоблоку создал.

задача такая:
добавлять точку на карте из публичной части не заходя в админ панель.

Спасибо за внимание
Артур
Михаил Базаров,
Добрый вечер,
Михаил подскажите пожалуйста как реализовать привязку "яндекс карты" к iblock.element.add.form в публичной части?
свойство "привязки к яндекс карте" в инфоблоке создал.

задача такая:
добавлять точку на карте из публичной части не заходя в админ панель.

Спасибо за внимание
Михаил Базаров
Цитата
Артур написал:
Михаил Базаров ,
Добрый вечер,
Михаил подскажите пожалуйста как реализовать привязку "яндекс карты" к iblock.element.add.form в публичной части?
свойство "привязки к яндекс карте" в инфоблоке создал.

задача такая:
добавлять точку на карте из публичной части не заходя в админ панель.

Спасибо за внимание
Только так думаю
https://camouf.ru/blog-note/2449/
предавать в форме координаты точки, придется плотно подумать
Андрей Шведюк
Михаил, добрый день!
Если создать в свойствах инфоблока привязку к карте, то в выводе, например, компонента "Каталог" карта с точкой отображается без доп. настроек...
Т е повторно, указанный выше код вызывать не нужно или я что-то не понимаю....
А подскажите, как передать карте значение некоторых свойств ? Нужно, например, изменить zoom по умолчанию .

© 2011—2016 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.
Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой. Политика конфеденциальности
x
Как к Вам обращаться? *
Ваша электронная почта: *
Доп. материалы (логотип, тех. задание):
 
Обзор
Текст сообщения: