Как определить координаты 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

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK