diff --git a/js/app.js b/js/app.js index c5c17e4..3d7c284 100644 --- a/js/app.js +++ b/js/app.js @@ -14,7 +14,7 @@ function lhash_update(history_step) { // generate hash hash += "mt=" + selectedLayer; - hash += "&mz=" + roundNumber(map.getZoom(),0); + hash += "&mz=" + map.getZoom(); if(!/^[a-z0-9]{32}$/ig.exec(wvar.query)) { hash += "&qm=" + wvar.mode.replace(/ /g, '_'); @@ -22,7 +22,8 @@ function lhash_update(history_step) { if(follow_vehicle === null || manual_pan) { var latlng = map.getCenter(); - hash += "&mc=" + roundNumber(latlng.lat, 5) + "," + roundNumber(latlng.lng, 5); + hash += "&mc=" + roundNumber(latlng.lat, 5) + + "," + roundNumber(latlng.lng, 5); } if(follow_vehicle !== null) { @@ -107,7 +108,7 @@ function load_hash(no_refresh) { manual_pan = true; v = v.split(','); var latlng = new L.LatLng(v[0], v[1]); - map.panTo(latlng, {animate: false}); + map.setView(latlng); break; case "f": refocus = (follow_vehicle != v); diff --git a/js/tracker.js b/js/tracker.js index b228eea..fd91c96 100644 --- a/js/tracker.js +++ b/js/tracker.js @@ -428,27 +428,6 @@ function load() { L.control.status({ position: 'bottomright' }).addTo(map); - L.Control.PeriodControl = L.Control.extend({ - onAdd: function(map) { - var div = L.DomUtil.create('div'); - - div.innerHTML = ''; - div.innerHTML.onload = setTimeValue(); - - return div; - }, - - onRemove: function(map) { - // Nothing to do here - } - }); - - L.control.periodcontrol = function(opts) { - return new L.Control.PeriodControl(opts); - } - - L.control.periodcontrol({ position: 'topleft' }).addTo(map); - // update current position if we geolocation is available if(currentPosition) updateCurrentPosition(currentPosition.lat, currentPosition.lon); @@ -470,7 +449,15 @@ function load() { showLaunchSites(); map.addLayer(launches); } - + + map.on('moveend', function (e) { + lhash_update(); + }); + + map.on('baselayerchange', function (e) { + selectedLayer = e.layer.id; + }); + map.on('zoomend', function() { //do check for horizon labels if (!offline.get("opt_hide_horizon")) { @@ -504,20 +491,42 @@ function load() { if(!wvar.embeded) manual_pan = true; }); - map.once('move', function() { + // only start population the map, once its completely loaded + var callBack = function() { load_hash(null); - map.on('moveend', function() { - lhash_update(); - }); + L.Control.PeriodControl = L.Control.extend({ + onAdd: function(map) { + var div = L.DomUtil.create('div'); + + div.innerHTML = ''; + div.innerHTML.onload = setTimeValue(); - map.on('baselayerchange', function(e) { - selectedLayer = e.layer.id; - lhash_update(); + return div; + }, + + onRemove: function(map) { + // Nothing to do here + } }); + + L.control.periodcontrol = function(opts) { + return new L.Control.PeriodControl(opts); + } + L.control.periodcontrol({ position: 'topleft' }).addTo(map); + + map.on('idle', function() { + lhash_update(); + }); + map.on('baselayerchange', function() { + lhash_update(); + }); + startAjax(); - }); + }; + + map.whenReady(callBack); // animate-in the timebox, setTimeout(function() {