Доработал определения положения пользователя - отказался от загрузки карты Ya
This commit is contained in:
parent
7f76a968f9
commit
b7d01af3eb
|
|
@ -21,13 +21,13 @@ class IndexController extends Controller
|
|||
|
||||
self::addScript('/js/app.js?ver=' . App::getConfig('version'));
|
||||
self::addScript('/js/jquery.cookie.js');
|
||||
self::addScript('/js/map.js?ver=' . App::getConfig('version'));
|
||||
self::addScript('/js/leaflet-routing-machine.js');
|
||||
self::addScript('/js/route.js?ver=' . App::getConfig('version'));
|
||||
self::addScript('/js/leaflet.markercluster.js');
|
||||
self::addScript('/js/fotorama.js');
|
||||
self::addScript('/js/suggest.js?ver=' . App::getConfig('version'));
|
||||
self::addScript('/js/navigation.js?ver=' . App::getConfig('version'));
|
||||
self::addScript('/js/map.js?ver=' . App::getConfig('version'));
|
||||
self::addScript('/js/fotorama.js');
|
||||
|
||||
// self::addStyle('/css/style.css?ver=' . App::getConfig('version'));
|
||||
self::addStyle('/css/leaflet.css');
|
||||
|
|
@ -62,6 +62,15 @@ class IndexController extends Controller
|
|||
self::addVar('pointLat', (isset($_GET['lat'])?floatval($_GET['lat']):0));
|
||||
self::addVar('pointLng', (isset($_GET['lng'])?floatval($_GET['lng']):0));
|
||||
|
||||
if (isset($_COOKIE['userLat']) && isset($_COOKIE['userLng'])) {
|
||||
self::addVar('userLat', $_COOKIE['userLat']);
|
||||
self::addVar('userLng', $_COOKIE['userLng']);
|
||||
} else {
|
||||
$loc = IpInfo::geo($_SERVER['REMOTE_ADDR']);
|
||||
self::addVar('userLat', $loc['lat']);
|
||||
self::addVar('userLng', $loc['lng']);
|
||||
}
|
||||
|
||||
$og = array();
|
||||
if (isset($_GET['point']) && $_GET['point'] && is_numeric($_GET['point'])) {
|
||||
$id = (int) $_GET['point'];
|
||||
|
|
|
|||
|
|
@ -38,24 +38,16 @@ categories.simplepoint = L.icon({
|
|||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Инициализируем яндекс-карты и узнаём расположение пользователя.
|
||||
*/
|
||||
ymaps.ready(function () {
|
||||
lat = ymaps.geolocation.latitude;
|
||||
lng = ymaps.geolocation.longitude;
|
||||
|
||||
if (pointLat == pointLng) {
|
||||
init(lat, lng);
|
||||
} else {
|
||||
if (pointLat == pointLng) {
|
||||
init(userLat, userLng);
|
||||
} else {
|
||||
init(pointLat, pointLng);
|
||||
}
|
||||
}
|
||||
|
||||
points.im = L.marker([lat, lng], {icon: categories.im, title: 'Вы здесь'});
|
||||
points.im.addTo(myMap);
|
||||
points.im.bindPopup('<h3>Похоже, что вы здесь!</h3><img src="/ico/man.png" style="float: left; margin-right: 5px;" /> <b>Ваше местоположение</b> - это точка, которую можно добавить в маршрут. При первоначальной загрузке страницы определение координат происходит очень неточно, по вашему адресу в сети интеренет. При желании координаты можно уточнить, нажав соответствующую пиктограмму справа [ <div class="glyphicon glyphicon-screenshot _b"></div> ].<br/><br/> <button type="button" class="btn btn-default" onclick="addToRoute(\'im\')"><span class="glyphicon glyphicon-map-marker"></span> Добавить в маршрут</button>');
|
||||
suggestInit('#addressField');
|
||||
});
|
||||
points.im = L.marker([userLat, userLng], {icon: categories.im, title: 'Вы здесь'});
|
||||
points.im.addTo(myMap);
|
||||
points.im.bindPopup('<h3>Похоже, что вы здесь!</h3><img src="/ico/man.png" style="float: left; margin-right: 5px;" /> <b>Ваше местоположение</b> - это точка, которую можно добавить в маршрут. При первоначальной загрузке страницы определение координат происходит очень неточно, по вашему адресу в сети интеренет. При желании координаты можно уточнить, нажав соответствующую пиктограмму справа [ <div class="glyphicon glyphicon-screenshot _b"></div> ].<br/><br/> <button type="button" class="btn btn-default" onclick="addToRoute(\'im\')"><span class="glyphicon glyphicon-map-marker"></span> Добавить в маршрут</button>');
|
||||
suggestInit('#addressField');
|
||||
|
||||
/**
|
||||
* Инициализируем переменные и подгружаем данные.
|
||||
|
|
|
|||
|
|
@ -9,25 +9,28 @@ var intervalId = null;
|
|||
*/
|
||||
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();
|
||||
}
|
||||
// TODO: Продумать ещё раз и переписать
|
||||
// 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];
|
||||
$.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());
|
||||
|
|
|
|||
Loading…
Reference in New Issue