diff --git a/RX_FSK/data/livemap.js b/RX_FSK/data/livemap.js index a1afe01..a2d41f9 100644 --- a/RX_FSK/data/livemap.js +++ b/RX_FSK/data/livemap.js @@ -1,6 +1,6 @@ $(document).ready(function(){ - var map = L.map('map', { attributionControl: false }); + var map = L.map('map', { attributionControl: false, zoomControl: false }); map.on('mousedown touchstart',function () { follow=false; }); L.control.scale().addTo(map); @@ -39,8 +39,17 @@ var header = ''; header += '
rdzTTGOSonde LiveMap
🎈 - MHz -
'; header += '
m | m/s | km/h
'; header += '
'; +header += '

Prediction-Settings
'; + +header += ' m
'; +header += ' m/s
'; +header += ' m
'; +header += 'after the transmitted descend will be used'; +header += '
   
'; +header += '
'; $('.leaflet-header').append(header); + $('#map .leaflet-control-container').append(L.DomUtil.create('div', 'leaflet-bottom leaflet-center leaflet-footer')); var footer = ''; footer += '
Direction: ...Β°
Distance: ...m
'; @@ -67,12 +76,13 @@ headtxt = function(data,stat) { $('#sonde_statbar').html(statbar); }; - map.addControl(new L.Control.Button([{ position: 'topleft', text: 'πŸ—ΊοΈ', href: 'javascript:basemap_change();' }])); + map.addControl(new L.Control.Button([ { position: 'topleft', text: 'πŸ”™', href: 'index.html' } ])); + + L.control.zoom({ position:'topleft' }).addTo(map); - map.addControl(new L.Control.Button([ - { position: 'topright', id: "status", text: 'πŸ”΄', href: 'javascript:get_data();' }, - { text: 'βš™οΈ', href: 'index.html' } - ])); + map.addControl(new L.Control.Button([ { position: 'topleft', text: 'πŸ—ΊοΈ', href: 'javascript:basemap_change();' } ])); + + map.addControl(new L.Control.Button([ { position: 'topright', id: "status", text: 'πŸ”΄', href: 'javascript:get_data();' } ])); map.addControl(new L.Control.Button([ { position:'topright', text: '🎈', href: 'javascript:show(marker,\'marker\');' }, @@ -80,8 +90,10 @@ headtxt = function(data,stat) { { text: 'πŸ’₯', href: 'javascript:show(marker_burst,\'burst\');' }, { text: '🎯', href: 'javascript:show(marker_landing,\'landing\');' } ])); - - + + map.addControl(new L.Control.Button([ { position:'topright', text: 'βš™οΈ', href: 'javascript:show_settings();' } ])); + + show = function(e,p) { if (p == 'landing') { get_predict(last_data); } if (e) { @@ -218,19 +230,77 @@ headtxt = function(data,stat) { } }); }; + + storage = (typeof(Storage) !== "undefined")?true:false; + + settings_std = { + burst: 32500, + overwrite_descend: 6, + overwrite_descend_till: 12000 + }; + + settings_read = function() { + if (storage) { + if (sessionStorage.settings) { + return JSON.parse(sessionStorage.settings); + } else { + settings_write(settings_std); + return settings_std; + } + } else { + return settings_std; + } + return false; + }; + + settings_write = function (data) { + if (storage) { + sessionStorage.settings = JSON.stringify(data); + settings = data; + } + }; + + settings = settings_read(); + + settings_save = function() { + settings.burst = parseInt($('#settings #burst').val()); + settings.overwrite_descend = parseInt($('#settings #overwrite_descend').val()); + settings.overwrite_descend_till = parseInt($('#settings #overwrite_descend_till').val()); + if (Number.isInteger(settings.burst) && Number.isInteger(settings.overwrite_descend) && Number.isInteger(settings.overwrite_descend_till)) { + settings_write(settings); + $("#settings").slideUp(); + get_predict(last_data); + } else { + alert('Error: only numeric values allowed!'); + } + }; + + settings_reset = function() { + if (confirm('Reset to default?')) { + settings_write(settings_std); + show_settings(); + } + }; + + show_settings = function() { + $('#settings #burst').val(settings.burst); + $('#settings #overwrite_descend').val(settings.overwrite_descend); + $('#settings #overwrite_descend_till').val(settings.overwrite_descend_till); + $("#settings").slideToggle(); + }; predictor = false; get_predict = function(data) { if (!data) { return; } var ascent = (data.climb > 0)? data.climb : 15; - var descent = (data.climb > 0)? 5 : data.climb * -1; + var descent = (data.climb > 0)? settings.overwrite_descend : data.climb * -1; var burst; if (data.climb > 0) { - burst = (data.alt > 32500)?data.alt + 500 : 32500; + burst = (data.alt > settings.burst )?data.alt + 100 : settings.burst; } else { burst = parseInt(data.alt) + 7; - if (data.alt > 12000) { descent = 6; } + if (data.alt > settings.overwrite_descend_till ) { descent = settings.overwrite_descend; } } var m = new Date(); diff --git a/RX_FSK/data/style.css b/RX_FSK/data/style.css index 5bd750b..96045a1 100755 --- a/RX_FSK/data/style.css +++ b/RX_FSK/data/style.css @@ -186,6 +186,24 @@ p{ box-shadow: 0 1px 5px rgba(0,0,0,0.65); border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; + pointer-events: auto !important; +} + +.leaflet-header #settings { + display: none; +} + +.leaflet-header label { + display: block; + margin-top: 5px; +} +.leaflet-header input { + width: 80px; + margin: 0 auto; +} + +.leaflet-header #submit { + margin: 3px auto; } .leaflet-footer {