Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Как определить координаты 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){
}
}
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта