diff --git a/public/js/navigation.js b/public/js/navigation.js index f28e114..a0608fb 100644 --- a/public/js/navigation.js +++ b/public/js/navigation.js @@ -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; }