wikipoints/public/js/navigation.js

38 lines
1.0 KiB
JavaScript

var showMeLastTime = 0;
var showMeTimerOn = false;
var intervalId = null;
/**
* Пытается более точно определить координаты пользователя на карте и, при необходимости, обновляет положение точки "im"
* @returns {undefined}
*/
function showMeOnTheMap(interval)
{
if (!interval) {
if (showMeTimerOn) {
clearInterval(intervalId);
intervalId = null;
showMeTimerOn = false;
$('#showMeOnTheMap').removeClass('active');
} else {
if (showMeLastTime + 10 >= getTime() && !showMeTimerOn) {
showMeTimerOn = true;
$('#showMeOnTheMap').addClass('active');
intervalId = setInterval('showMeOnTheMap(true)', 15000);
showMeLastTime = getTime();
}
}
showMeLastTime = getTime();
}
navigator.geolocation.getCurrentPosition(function (pos) {
coords = [pos.coords.latitude, pos.coords.longitude];
myMap.removeLayer(points.im);
points.im.setLatLng(coords).addTo(myMap);
myMap.setView(coords, myMap.getZoom());
});
}