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

Геолокация позволяет определить страну местоположения пользователя. 

Для этого используются службы Google (получить ключ для API можно здесь - https://console.cloud.google.com на google аккаунте проекта).

1. Создаем проект https://disk.yandex.ru/i/hQgLR2hFywCaiQ

2. Добавляем возможности API: 

Для PlacesApi может потребоваться включить биллинг для проекта https://console.cloud.google.com/billing/enable

3. На Credentials создаем API ключ и ставим ограничения по домену, например site.ru/*

У API есть лимиты на бесплатное обслуживание (https://cloud.google.com/pricing/ - цены).

Если карты или геолокация  не будет работать - смотрим в консоли браузера ошибки (по ссылке будет описание чего именно не хватает).

Как работает геолокация? 

При первом заходе в систему у пользователя запрашивается его регион (с начальным определением по Google и возможностью подтвердить этот момент). 

После установки страны в куки CountryISO запишется значение выбранной страны. 

Если пользователь отказался выбрать страну, то больше мы ему это окно не выводим. Т.е. запрос страны идет только 1 раз. 

Как включить геолокацию? 

Для этого укажите ключ от API Google Geolocation в хранимой процедуре GetLayoutInfo в параметре GeoLocationKey

Где хранится страна посетителя? 

В куки браузера с именем CountryISO хранится код страны. Список стран берется из таблицы as_geo_geolocationObjects. 

Как можно использовать страну в формах

Используйте в полях тип поля формы Куки. Таким образом этот куки передастся через параметр формы на SaveItem процедуру. 

Как получить координаты пользователя lat, lon 

Используйте в GetLayout SELECT 1 параметр enableGeolocation=1

В этом случае после запроса разрешения у пользователя на получения местоположения система запишет в куки geoLat и geoLng координаты пользователя. 

Эти куки затем можно использовать через форму (тип поля Куки). 

Страница-источник на сайте falconspace.ru