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); +}