РЕфакторинг navigation.js
This commit is contained in:
parent
5758359c5b
commit
f520acb6b9
|
|
@ -2,7 +2,6 @@ var showMeLastTime = 0;
|
|||
var showMeTimerOn = false;
|
||||
var intervalId = null;
|
||||
|
||||
|
||||
/**
|
||||
* Пытается более точно определить координаты пользователя на карте и, при необходимости, обновляет положение точки "im"
|
||||
* @returns {undefined}
|
||||
|
|
@ -10,17 +9,16 @@ var intervalId = null;
|
|||
function showMeOnTheMap() {
|
||||
if (navigator.geolocation) {
|
||||
navigator.geolocation.getCurrentPosition(
|
||||
geolocationSuccess,
|
||||
geolocationFailure,
|
||||
{
|
||||
enableHighAccuracy: true,
|
||||
timeout: 20000,
|
||||
maximumAge: 60000
|
||||
}
|
||||
geolocationSuccess,
|
||||
geolocationFailure,
|
||||
{
|
||||
enableHighAccuracy: true,
|
||||
timeout: 20000,
|
||||
maximumAge: 60000
|
||||
}
|
||||
);
|
||||
$('#showMeOnTheMap').addClass('inProgress');
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
alert('Error');
|
||||
}
|
||||
}
|
||||
|
|
@ -28,16 +26,23 @@ function showMeOnTheMap() {
|
|||
function geolocationSuccess(pos) {
|
||||
$('#showMeOnTheMap').removeClass('inProgress');
|
||||
|
||||
if (typeof(points.circle) != "undefined") {
|
||||
if (typeof (points.circle) != "undefined") {
|
||||
myMap.removeLayer(points.circle);
|
||||
}
|
||||
|
||||
coords = [pos.coords.latitude, pos.coords.longitude];
|
||||
|
||||
points.circle = L.circle(coords, pos.coords.accuracy);
|
||||
points.circle.addTo(myMap);
|
||||
|
||||
$.cookie('userLat',pos.coords.latitude);
|
||||
$.cookie('userLng',pos.coords.longitude);
|
||||
setTimeout(function () {
|
||||
if (typeof (points.circle) != "undefined") {
|
||||
myMap.removeLayer(points.circle);
|
||||
}
|
||||
}, 3000);
|
||||
|
||||
$.cookie('userLat', pos.coords.latitude);
|
||||
$.cookie('userLng', pos.coords.longitude);
|
||||
myMap.removeLayer(points.im);
|
||||
points.im.setLatLng(coords).addTo(myMap);
|
||||
myMap.setView(coords, myMap.getZoom());
|
||||
|
|
@ -46,24 +51,18 @@ function geolocationSuccess(pos) {
|
|||
function geolocationFailure(positionError) {
|
||||
$('#showMeOnTheMap').removeClass('inProgress');
|
||||
|
||||
if (typeof(points.circle) != "undefined") {
|
||||
if (typeof (points.circle) != "undefined") {
|
||||
myMap.removeLayer(points.circle);
|
||||
}
|
||||
|
||||
if(positionError.code == 1) {
|
||||
text = "Вы решили не предоставлять данные о своем местоположении, " +
|
||||
"но это не проблема. Мы больше не будем запрашивать их у вас.";
|
||||
}
|
||||
else if(positionError.code == 2) {
|
||||
text = "Проблемы с сетью или нельзя связаться со службой определения " +
|
||||
"местоположения по каким-либо другим причинам.";
|
||||
}
|
||||
else if(positionError.code == 3) {
|
||||
text = "He удалось определить местоположение "
|
||||
+ "в течение установленного времени. ";
|
||||
if (positionError.code == 1) {
|
||||
text = "К сожалению Вы решили не разрешили предоставлять данные о своем местоположении. Проверьте настройки ГЕО-приватности для браузера и сайта.";
|
||||
} else if (positionError.code == 2) {
|
||||
text = "Не удалось связаться со службой определения местоположения. Возможно проблемы с сетью.";
|
||||
} else if (positionError.code == 3) {
|
||||
text = "He удалось определить местоположение в течение длительного времени. Попробуйте ещё раз.";
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
text = 'Ошибка при определении координат. #' + positionError.code;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue