Как получить координаты карты у элемента инфоблока?

Для получения координат карты у элемента инфоблока в Битрикс24, вам понадобится использовать API Яндекс.Карт. Ниже я приведу подробное описание шагов, которые вы должны выполнить, чтобы получить координаты карты:

1. Перед началом работы убедитесь, что у вас есть установленный и настроенный модуль "Информационные блоки" (iblock) в вашей учетной записи Битрикс24.

2. Внутри вашего инфоблока создайте свойство типа "Карта" и задайте ему код. Например, вы можете использовать код "MAP_COORDS".

3. В шаблоне вашего инфоблока найстройте поля для ввода координат. Для этого создайте текстовое поле и привяжите его к созданному ранее свойству "Карта" (MAP_COORDS).

4. Далее вам потребуется создать пользовательское поле типа "HTML/текст" для отображения карты на странице элемента инфоблока. Задайте ему код, например "MAP_PREVIEW".

5. В настройках созданного пользовательского поля укажите тип пользовательского поля "HTML/текст" и выберите шаблон вывода, настроенный по умолчанию.

6. Затем добавьте пользовательский код в файл /bitrix/templates/ваш_шаблон/components/bitrix/news.detail/map.php следующего вида:

<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
if (!empty($arParams["MAP_PROP"])) {
    $arResult["MAP_COORDS"] = explode(",", $arResult["PROPERTIES"][$arParams["MAP_PROP"]]["VALUE"]);
}
$this->IncludeComponentTemplate();
?>

7. Создайте файл /bitrix/components/bitrix/news.detail/templates/.default/map.php и добавьте код:

<?if(!empty($arResult["MAP_COORDS"]) && is_array($arResult["MAP_COORDS"])):?>
    <script>
        ymaps.ready(function () {
            var myMap = new ymaps.Map('map_container', {
                    center: [<?=$arResult["MAP_COORDS"][0]?>, <?=$arResult["MAP_COORDS"][1]?>],
                    zoom: 16
                }, {
                    searchControlProvider: 'yandex#search'
                }),

                myPlacemark = new ymaps.Placemark(myMap.getCenter(), {
                    hintContent: '<?=$arResult["NAME"]?>',
                    balloonContent: '<?=$arResult["PREVIEW_TEXT"]?>'
                });

            myMap.geoObjects.add(myPlacemark);
            myMap.behaviors.disable('scrollZoom');
        });
    </script>
    <div id="map_container" style="width: 100%; height: 400px;"></div>
<?endif;?>

8. Наконец, в шаблоне компонента добавьте вызов пользовательского поля. В вашем шаблоне, где вы хотите отобразить карту, добавьте следующий код:

<?if($arParams["DISPLAY_PREVIEW_TEXT"] != "N" && $arResult["FIELD_PREVIEW_TEXT_VALUE"]):?>
    <?=$arResult["FIELD_MAP_PREVIEW_VALUE"]?>
<?endif;?>

Теперь при просмотре элемента инфоблока на странице будет отображаться карта с указанными координатами.

Надеюсь, что эти инструкции помогут вам получить координаты карты у элемента инфоблока в Битрикс24!