diff --git a/html/early.js b/html/early.js
index 928ae15..a803b52 100644
--- a/html/early.js
+++ b/html/early.js
@@ -78,7 +78,7 @@ function resetSettings() {
}
}
if (usp.has('reset')) {
- resetSettings;
+ resetSettings();
}
const feed = usp.get('feed');
if (feed != null) {
diff --git a/html/script.js b/html/script.js
index d0684a2..cf2c222 100644
--- a/html/script.js
+++ b/html/script.js
@@ -9,6 +9,7 @@ let tabHidden = false;
let webgl = false;
let webglFeatures = new ol.source.Vector();
let webglLayer;
+let sitePosLayer;
let OLMap = null;
let OLProj = null;
let StaticFeatures = new ol.source.Vector();
@@ -1603,17 +1604,18 @@ function initMap() {
layers_group = createBaseLayers();
layers = layers_group.getLayers();
- layers.push(
- new ol.layer.Vector({
- name: 'site_pos',
- type: 'overlay',
- title: 'Site position and range rings',
- source: StaticFeatures,
- visible: !adsbexchange,
- zIndex: 100,
- renderOrder: null,
- renderBuffer: renderBuffer,
- }));
+ sitePosLayer = new ol.layer.Vector({
+ name: 'site_pos',
+ type: 'overlay',
+ title: 'Site position and range rings',
+ source: StaticFeatures,
+ visible: !adsbexchange,
+ zIndex: 100,
+ renderOrder: null,
+ renderBuffer: renderBuffer,
+ });
+
+ layers.push(sitePosLayer);
const dummyLayer = new ol.layer.Vector({
@@ -3429,10 +3431,16 @@ function toggleFollow(override) {
}
function resetMap() {
-
+ if (SitePosition) {
+ CenterLon = SiteLon;
+ CenterLat = SiteLat;
+ } else {
+ CenterLon = DefaultCenterLon;
+ CenterLat = DefaultCenterLat;
+ }
// Reset localStorage values and map settings
- localStorage['CenterLat'] = CenterLat = DefaultCenterLat;
- localStorage['CenterLon'] = CenterLon = DefaultCenterLon;
+ localStorage['CenterLat'] = CenterLat
+ localStorage['CenterLon'] = CenterLon
localStorage['ZoomLvl'] = ZoomLvl = DefaultZoomLvl;
// Set and refresh
@@ -5183,15 +5191,22 @@ function setLineWidth() {
function geoFindMe() {
function success(position) {
- if (!SiteOverride) {
- SiteLat = CenterLat = DefaultCenterLat = position.coords.latitude;
- SiteLon = CenterLon = DefaultCenterLon = position.coords.longitude;
- }
+ SiteLat = CenterLat = DefaultCenterLat = position.coords.latitude;
+ SiteLon = CenterLon = DefaultCenterLon = position.coords.longitude;
if (localStorage['geoFindMeFirstVisit'] == undefined) {
- OLMap.getView().setCenter(ol.proj.fromLonLat([CenterLon, CenterLat]));
+ resetMap();
localStorage['geoFindMeFirstVisit'] = 'no';
}
initSitePos();
+
+ sitePosLayer.setVisible(true);
+ navigator.geolocation.watchPosition(function() {
+ SiteLat = CenterLat = DefaultCenterLat = position.coords.latitude;
+ SiteLon = CenterLon = DefaultCenterLon = position.coords.longitude;
+
+ SitePosition = [SiteLon, SiteLat];
+ createSiteCircleFeatures();
+ });
}
function error() {
@@ -5199,9 +5214,12 @@ function geoFindMe() {
initSitePos();
}
- if (!navigator.geolocation) {
+ if (SiteOverride) {
+ // do nothing
+ } else if (!navigator.geolocation) {
console.log('Geolocation is not supported by your browser');
} else {
+ // change SitePos on location change
console.log('Locating…');
navigator.geolocation.getCurrentPosition(success, error);
}
@@ -5223,7 +5241,7 @@ function initSitePos() {
TAR.planeMan.setColumnVis('distance', false);
}
- if (SitePosition && !onMobile) {
+ if (SitePosition) {
TAR.planeMan.cols.distance.sort();
} else {
TAR.planeMan.cols.altitude.sort();