From b20bac223a8ae2d15baac6bd18e1000fca2c1177 Mon Sep 17 00:00:00 2001 From: Jeff Lawson Date: Mon, 24 Mar 2014 14:47:44 -0500 Subject: [PATCH] automatically zoom to first received valid position if we don't a have a preset location. start default zoom closer. --- public_html/config.js | 2 +- public_html/script.js | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/public_html/config.js b/public_html/config.js index c4d7ecd..130093e 100644 --- a/public_html/config.js +++ b/public_html/config.js @@ -14,7 +14,7 @@ Metric = false; // true or false CONST_CENTERLAT = 45.0; CONST_CENTERLON = 9.0; // The google maps zoom level, 0 - 16, lower is further out -CONST_ZOOMLVL = 5; +CONST_ZOOMLVL = 10; // -- Marker settings ------------------------------------- // The default marker color diff --git a/public_html/script.js b/public_html/script.js index fbf62a0..fbb3128 100644 --- a/public_html/script.js +++ b/public_html/script.js @@ -6,6 +6,7 @@ var PlanesOnTable = 0; var PlanesToReap = 0; var SelectedPlane = null; var SpecialSquawk = false; +var GotCenter = false; var iSortCol=-1; var bSortASC=true; @@ -16,6 +17,7 @@ var iDefaultSortCol=3; CenterLat = Number(localStorage['CenterLat']) || CONST_CENTERLAT; CenterLon = Number(localStorage['CenterLon']) || CONST_CENTERLON; ZoomLvl = Number(localStorage['ZoomLvl']) || CONST_ZOOMLVL; +GotCenter = (CenterLat != CONST_CENTERLAT || CenterLon != CONST_CENTERLON); function fetchData() { $.getJSON('/dump1090/data.json', function(data) { @@ -47,6 +49,13 @@ function fetchData() { // Copy the plane into Planes Planes[plane.icao] = plane; + + // Auto-center the map upon first valid position. + if (!GotCenter && data[j].validposition) { + var newpos = new google.maps.LatLng(data[j].lat, data[j].lon); + GoogleMap.panTo(newpos); + GotCenter = true; + } } PlanesOnTable = data.length; @@ -588,7 +597,8 @@ function resetMap() { CenterLat = Number(localStorage['CenterLat']) || CONST_CENTERLAT; CenterLon = Number(localStorage['CenterLon']) || CONST_CENTERLON; ZoomLvl = Number(localStorage['ZoomLvl']) || CONST_ZOOMLVL; - + GotCenter = false; + // Set and refresh GoogleMap.setZoom(parseInt(ZoomLvl)); GoogleMap.setCenter(new google.maps.LatLng(parseFloat(CenterLat), parseFloat(CenterLon)));