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

Определить местоположение пользователя и показать на карте

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

Задача определить местоположение текущего пользователя и показать его на карте, с меткой. Сделать можно с помощью класса GeoIp - Пространство имён для классов для работы с геолокацией.

Определение местоположения пользователя

Для этого достаточно воспользоваться методами Manager::getGeoPositionLatitude и Manager::getGeoPositionLongitude. Просто передаем эти данные в переменные и выводим на страницу

$userLat = \Bitrix\Main\Service\GeoIp\Manager::getGeoPositionLatitude();
$userLon = \Bitrix\Main\Service\GeoIp\Manager::getGeoPositionLongitude();
$userCity = \Bitrix\Main\Service\GeoIp\Manager::getCityName();
echo 'Широта ' .  $userLat . ', Долгота: ' .  $userLon . ', В городе: ' .  $userCity;

В целом, есть метод Manager::getGeoPosition - в котором содержатся сразу и долгота и широта.

Также добавил город пользователя в переменной

Выводим местоположение на карте

Дальше все просто: выводим компонент bitrix:map.yandex.view - отображение карты с сервиса Яндекс.Карты. И передаем широту и долготу в в параметр MAP_DATA

В массив $arPlacemarks дублируем широту и долготу, а также название города. Этот массив используем в параметре PLACEMARKS который отвечает за метку на карте

$userLat = \Bitrix\Main\Service\GeoIp\Manager::getGeoPositionLatitude();
$userLon = \Bitrix\Main\Service\GeoIp\Manager::getGeoPositionLongitude();
$userCity = 'Вы в городе: ' . \Bitrix\Main\Service\GeoIp\Manager::getCityName();

$arPlacemarks[] = array(
    "LAT" => $userLat,
    "LON" => $userLon,
    "TEXT" => $userCity,
); $APPLICATION->IncludeComponent( "bitrix:map.yandex.view", ".default", Array( "INIT_MAP_TYPE" => "MAP", "MAP_DATA" => serialize( array( 'yandex_scale' => 5, 'yandex_lat' => $userLat, 'yandex_lon' => $userLon, 'PLACEMARKS' => $arPlacemarks )), "MAP_WIDTH" => "100%", "MAP_HEIGHT" => "300", "CONTROLS" => "", "OPTIONS" => array(0=>"ENABLE_SCROLL_ZOOM",1=>"ENABLE_DRAGGING",), "MAP_ID" => "", ) );

Готово, получится что-то вроде этого:

определить местоположение текущего пользователя и показать его на карте

Написать первый комментарий:

Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
Нажимая кнопку "Отправить" вы соглашаетесь
с политикой конфиденциальности и обработки персональных данных.

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

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

Ускорение работы сайта на 1С-Битрикс Просмотров: 15838 Данная статья написана специально под видеоролик (приложен в конце статьи), опубликованный... Вывести компонент новостей на страницу в Битрикс Просмотров: 63533 Посмотрел Яндекс метрику на свой сайт, и решил что буду частенько писать сюда именно то, ч... Адаптивное гамбургер меню для битрикс Просмотров: 14424 Заметка коротенькая, но решил оставить ее - так как самому часто нужно нечто подобное. В а... Использование WebP изображений в 1С-Битрикс (на Битрикс: Веб окружени... Просмотров: 25830 WebP это современный формат сжатия изображений, который позволяет, при правильных настройк... Вывести свойство привязка к Яндекс Картам в Битрикс Просмотров: 18143 Часто бывает нужно вывести свойство привязка к Яндекс карте в детальном описании элемента... Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт Просмотров: 16836 При разработке сайтов на Битрикс, с интеграцией с 1С Управление Тороговлей, нужно запретит... Получить все товары из всех заказов пользователя. История купленных т... Просмотров: 1344 Задача: нужно создать раздел, в персональном разделе пользователя, с историей всех купленн... Подключение SSL на Битрикс виртуальная машина Просмотров: 11893 С первого января 2017 года, наличие безопасного соединения HTTPS становится практически об... Умный фильтр во всплывающей панели на мобильных. Просмотров: 1413 Шаблон умного фильтра в Битриксе достаточно сложный, с точки зрения верстки и не очень кра... Ссылка и название раздела в списке новостей Битрикс Просмотров: 10491 Если нужно вывести название раздела инфоблока в котором находится конкретный элемент/новос... Умный фильтр на главной странице Битрикс Просмотров: 20823 Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу... Создание PWA для сайта на 1С-Битрикс Просмотров: 2051 Технология PWA позволяет создать приложение для любого сайта. Не обязательно работающего ... Вывести информацию, только на первом уровне раздела каталога, в 1С-Би... Просмотров: 4216 Задача: на сайте, в каталоге, выводится два фильтра - боковой и верхний. Оба компонента по... Ленивая подгрузка картинок в компоненте, на vue js Битрикс Просмотров: 9424 Если на одну страницу сайта выводится большое количество картинок, которые могут долго под... Бонус за выполненный заказ на внутренний счет пользователя Просмотров: 4233 Задача: после того как заказ, в интернет-магазине, перешел в статус "Выполнен" начислить п... Отфильтровать новости в Битрикс за заданный период Просмотров: 15551 Иногда, нужно отфильтровать элементы (новости например) по дате в Битрикс, с помощью компо... Если предложение SKU в корзине, поменять кнопку добавления на "В корз... Просмотров: 3112 Данная заметка является дополнением к ранее опубликованной: Есл... Настройка выгрузки товаров в Яндекс Маркет с сайта Битрикс Просмотров: 36654 Настройка выгрузки в Яндекс маркет в формате yml, выполняется достаточно просто, кроме одн... Создание скидки на общую сумму покупки в Битрикс корзине Просмотров: 26907 Функционал интернет-магазина, работающего под управлением 1С Битрикс, позволяет задавать м... Определить местоположение пользователя и показать на карте Просмотров: 3253 Задача определить местоположение текущего пользователя и показать его на карте, с меткой. ...