Курсы обучения
+7 (351) 777-80-70
2022.03.23

Вывод координат на карте через переменные - Линейка решений INTEC: Universe

Рассмотрим пример вывода компонента карты, который будет отображать координаты, зависящие от региона.

1) Для того, чтобы координаты зависели от региона, создадим новую переменную в регионах

   
2)Тип данные выбираем строка, в поле код поля вводим код (к примеру "UF_MAP") и прописываем название свойства (например "Координаты карты")


3) Теперь у каждого региона появится дополнительное свойство "Координаты карты". С помощью любого сервиса получаем координаты нужной точки на карте и вписываем в созданное свойство. Координаты необходимо ввести через запятую, например 55.16009,61.40539


4) Заполняем координаты у каждого региона

5) На странице, где необходимо вывести карту прописываем следующий код в PHP
<?php
//Получаем координату до запятой
$positionLat = explode(',', $_SESSION['REGIONALITY']['REGION']['PROPERTIES']['MAP']['RAW'])[0];
//Получаем координату после запятой
$positionLon = explode(',', $_SESSION['REGIONALITY']['REGION']['PROPERTIES']['MAP']['RAW'])[1];

//Вставляем полученные координаты в настройки карты
$data = [
	'yandex_lat' => $positionLat,
	'yandex_lon' => $positionLon,
	'yandex_scale' => 15,
	'PLACEMARKS' => [
		[
			'LAT' => $positionLat,
			'LON' => $positionLon
		]
	]
];

//Вызываем компонент yandex карты
$APPLICATION->IncludeComponent(
    "bitrix:map.yandex.view",
    ".default",
    array(
        "INIT_MAP_TYPE" => "MAP",
		"MAP_DATA" => serialize($data), //вставляем настройки координат в карту
        "MAP_WIDTH" => "100%",
        "MAP_HEIGHT" => "600",
        "CONTROLS" => array(
            0 => "ZOOM",
            1 => "MINIMAP",
            2 => "TYPECONTROL",
            3 => "SCALELINE",
        ),
        "OPTIONS" => array(
            0 => "ENABLE_SCROLL_ZOOM",
            1 => "ENABLE_DBLCLICK_ZOOM",
            2 => "ENABLE_DRAGGING",
        ),
        "MAP_ID" => "main_region",
        "COMPONENT_TEMPLATE" => ".default"
    ),
    false
);
?>
6) После сохранения на странице появится карта, которая будет центрироваться на точке с координатами из настроек конкретного региона

Наши решения