Как определить координаты lat lng пользователя в текущий момент

Используйте настройку в GetLayout:  1 saveGeoposition. В этом случае на странице добавляется параметр as-latlng, в который записываются координаты устройства через запятую - lat,lng 

<input type="hidden" class="as-latlng" value="54.6227747,39.7544688">

Также это же значение запишется в localstorage с ключом as-latlng

Для определения координат должна работать геолокация, т.е. прописан в GetLayout ключ Google API - GeolocationKey.

Как в форму передать геоданные

Ставим в GetLayout 1 saveGeoposition

Для обработки этих значений вы можете использовать поле формы типа localstorage, которые передадут это значение в процедуры SQL.

Код поля - любой, например t1 типа  Hidden localstorage. 

В getItem SELECT 1 передаем название ключа localstorage: 

select 'as-latlng' t1

В saveItem извлекаем этот элемент:

declare @latlng nvarchar(max)
select @latlng = Value2 from @parameters where [key]='t1'
	

В поле будут записаны координаты через запятую. 

Также вы можете использовать custom JS. Пример: 

$(function(){
	$(document).delegate('.cropSetMyGeo', 'click', function(e){
    	e.preventDefault();
      	var coords = $('.as-latlng').val();
      	if(coords){
         	var ss = coords.split(',');
        	var form = $('.as-form[data-code=crop]');
      		$(".as-form-item[data-code=lat] input", form).val(ss[0]);
      		$(".as-form-item[data-code=lng] input", form).val(ss[1]);
        }
      	//alert(coords);
    });
});

Определение города, улицы и других геоданных текущего пользователя

Используем коллбек as.mapcallbacks["afterSetLatLng"], который выполняется после определения координат пользователя. 

Отправляем запрос на google для получения геоданных по координатам. В итоге сохраняем город в скрытое поле .as-geoCity

Далее эти данные можно сохранить в базе через requestJS связав с falconGuid.

as.mapcallbacks["afterSetLatLng"] = function(position){
   	try{
      	var coords = $('.as-latlng').val();
      	$.get( "https://maps.googleapis.com/maps/api/geocode/json?language=ru&latlng="+coords+"&key=___________________APIKEY___________________", function( data ) {
			console.log("xx",data.results)
          var el = data.results[0];
          	var city = "";	
			if(el && el.address_components){
            	var ar = $.grep(el.address_components, function(item){
                 	return item.types.includes("locality");          					      
                });              	
              	if(ar && ar.length){
                	city = ar[0].short_name;
                  	if(city){
                    	$('body').append('<input type="hidden" class="as-geoCity">');
                      	$('.as-geoCity').val(city);
                    }
                }
            }              	   
        });
    }catch(ex){
    }               
}
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK