diff --git a/RX_FSK/data/livemap.js b/RX_FSK/data/livemap.js index 0ff62da..e515e36 100644 --- a/RX_FSK/data/livemap.js +++ b/RX_FSK/data/livemap.js @@ -321,7 +321,7 @@ headtxt = function(data,stat) { var datetime = m.getUTCFullYear() + "-" + az(m.getUTCMonth()+1) + "-" + az(m.getUTCDate()) + "T" + az(m.getUTCHours()) + ":" + az(m.getUTCMinutes()) + ":" + az(m.getUTCSeconds()) + "Z"; var url = 'https://predict.cusf.co.uk/api/v1/'; - url += '?launch_latitude='+data.lat + '&launch_longitude='+fix_lon(data.lon); + url += '?launch_latitude='+data.lat + '&launch_longitude='+tawhiri_lon(data.lon); url += '&launch_altitude='+data.alt + '&launch_datetime='+datetime; url += '&ascent_rate='+ascent + '&burst_altitude=' + burst + '&descent_rate='+descent; @@ -333,11 +333,11 @@ headtxt = function(data,stat) { draw_predict = function(prediction,data) { var ascending = prediction.prediction[0].trajectory; var highest = ascending[ascending.length-1]; - var highest_location = [highest.latitude,fix_lon(highest.longitude)]; + var highest_location = [highest.latitude,sanitize_lon(highest.longitude)]; var descending = prediction.prediction[1].trajectory; var landing = descending[descending.length-1]; - var landing_location = [landing.latitude,fix_lon(landing.longitude)]; + var landing_location = [landing.latitude,sanitize_lon(landing.longitude)]; if (!marker_landing) { marker_landing = L.marker(landing_location,{icon: icon_landing}).addTo(map) @@ -353,7 +353,7 @@ headtxt = function(data,stat) { dots_predict=[]; if (data.climb > 0) { - ascending.forEach(p => dots_predict.push([p.latitude,fix_lon(p.longitude)])); + ascending.forEach(p => dots_predict.push([p.latitude,sanitize_lon(p.longitude)])); if (!marker_burst) { marker_burst = L.marker(highest_location,{icon:icon_burst}).addTo(map).bindPopup(poptxt('burst',highest),{closeOnClick:false, autoPan:false}); @@ -365,7 +365,7 @@ headtxt = function(data,stat) { } } - descending.forEach(p => dots_predict.push([p.latitude,fix_lon(p.longitude)])); + descending.forEach(p => dots_predict.push([p.latitude,sanitize_lon(p.longitude)])); line_predict.setLatLngs(dots_predict); if (data.climb > 0) { @@ -378,16 +378,19 @@ headtxt = function(data,stat) { clearTimeout(predictor); predictor = setTimeout(function() {get_predict(last_data);}, predictor_time*1000); }; - - fix_lon = function(lon) { + + sanitize_lon = function(lon) { if (lon > 180) { return lon - 360; } + return lon; + } + tawhiri_lon = function(lon) { if (lon < 0) { return lon + 360; } return lon; - }; + } poptxt = function(t,i) { var lat_input = (i.id)?i.lat:i.latitude; - var lon_input = (i.id)?i.lon:i.longitude; + var lon_input = sanitize_lon((i.id)?i.lon:i.longitude); var lat = Math.round(lat_input * 1000000) / 1000000; var lon = Math.round(lon_input * 1000000) / 1000000;