diff --git a/public/js/map.js b/public/js/map.js
index c1b19e1..79eca18 100644
--- a/public/js/map.js
+++ b/public/js/map.js
@@ -48,6 +48,10 @@ if (pointLat == pointLng) {
points.im = L.marker([userLat, userLng], {icon: categories.im, title: 'Вы здесь'});
points.im.addTo(myMap);
points.im.bindPopup('
Похоже, что вы здесь! Ваше местоположение - это точка, которую можно добавить в маршрут. При первоначальной загрузке страницы определение координат происходит очень неточно, по вашему адресу в сети интеренет. При желании координаты можно уточнить, нажав соответствующую пиктограмму справа [
]. Добавить в маршрут ');
+
+points.circle = L.circle([userLat, userLng], 0);
+points.circle.addTo(myMap);
+
suggestInit('#addressField');
/**
@@ -146,6 +150,10 @@ function init(lat, lng) {
}
});
+ // Пользователь на карте
+ myMap.on('locationfound', onLocationFound);
+ myMap.on('locationerror', onLocationError);
+
return true;
}
@@ -550,3 +558,21 @@ function getShortLink()
}
});
}
+
+function onLocationFound(e) {
+ myMap.removeLayer(points.circle);
+ points.circle = L.circle(e.latlng, e.accuracy);
+ points.circle.addTo(myMap);
+
+ $.cookie('userLat', e.latlng.lat);
+ $.cookie('userLng', e.latlng.lng);
+ myMap.removeLayer(points.im);
+ points.im.setLatLng(e.latlng).addTo(myMap);
+ myMap.setView(e.latlng, myMap.getZoom());
+
+ return true;
+}
+
+function onLocationError(e) {
+ alert(e.message);
+}