4 <title>live russ map</title>
6 <script src="js/jquery-3.1.0.min.js"></script>
7 <script src="js/chart.umd.js"></script>
8 <script src="js/js.storage.min.js"></script>
9 <script src="js/kismet.ui.theme.js"></script>
11 <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css">
12 <link rel="stylesheet" href="css/leaflet.css" />
13 <link rel="stylesheet" type="text/css" href="css/jquery.jspanel.min.css" />
14 <link rel="stylesheet" type="text/css" href="css/Control.Loading.css" />
16 <script src="js/leaflet.js"></script>
17 <script src="js/Leaflet.MultiOptionsPolyline.min.js"></script>
18 <script src="js/Control.Loading.js"></script>
19 <script src="js/chroma.min.js"></script>
21 <script src="js/js.storage.min.js"></script>
22 <script src="js/kismet.utils.js"></script>
23 <script src="js/kismet.units.js"></script>
25 <script src="js/datatables.min.js"></script>
26 <script src="js/dataTables.scrollResize.js"></script>
30 --adsb-sidebar-background: white;
31 --adsb-sidebar-background-offset: #f9f9f9;
35 --adsb-sidebar-background: #222;
36 --adsb-sidebar-background-offset: #444;
37 --map-tiles-filter: brightness(0.6) invert(1) contrast(3) hue-rotate(200deg) saturate(0.3) brightness(0.7);
41 filter: var(--map-tiles-filter, none);
51 font: 10pt "Helvetica Neue", Arial, Helvetica, sans-serif;
59 -ms-transform: translate(-50%, -50%);
60 transform: translate(-50%, -50%);
69 border: 1px solid black;
70 background: var(--adsb-sidebar-background);
81 border: 1px solid black;
82 background: var(--adsb-sidebar-background);
94 border: 1px solid black;
97 background: linear-gradient(to right,
129 display: inline-block;
134 box-sizing: border-box;
135 height: calc(100% - 125px);
136 padding: 0.5em 0.5em 1.5em 0.5em;
137 border-radius: 0.5em;
138 background: var(--adsb-sidebar-background-offset);
146 <script src="/js/leaflet-heat.js"></script>
147 <script src="/js/testdata.js"></script>
149 var map = L.map('map').setView([-37.87, 175.475], 12);
151 var tiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
152 attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
155 addressPoints = addressPoints.map(function (p) { return [p[0], p[1]]; });
157 var heat = L.heatLayer(addressPoints).addTo(map);
159 var window_visible = true;
161 // Visibility detection from https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API
162 // Set the name of the hidden property and the change event for visibility
163 var hidden, visibilityChange;
164 if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support
166 visibilityChange = "visibilitychange";
167 } else if (typeof document.msHidden !== "undefined") {
169 visibilityChange = "msvisibilitychange";
170 } else if (typeof document.webkitHidden !== "undefined") {
171 hidden = "webkitHidden";
172 visibilityChange = "webkitvisibilitychange";
175 function handleVisibilityChange() {
176 if (document[hidden]) {
177 window_visible = false;
179 window_visible = true;
184 console.log("and here");
185 data = kismet.sanitizeObject(d);
187 // $('#count').html("Active in the last 10 minutes: " + data['kismet.adsb.map.devices'].length);
188 $('#numplanes').html(data['kismet.adsb.map.devices'].length);
190 if (!map_configured) {
191 var lat1 = data['kismet.russ.map.min_lat'];
192 var lon1 = data['kismet.russ.map.min_lon'];
193 var lat2 = data['kismet.russ.map.max_lat'];
194 var lon2 = data['kismet.russ.map.max_lon'];
199 map.fitBounds([[lat1, lon1], [lat2, lon2]])
200 L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
202 attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
203 className: 'map-tiles',
206 map_configured = true;
208 var dt = $('#datapoints').DataTable();
211 for (var d = 0; d < data.length; d++) {
216 console.log("Error");
222 function poll_map() {
223 $.get(local_uri_prefix + KISMET_PROXY_PREFIX + "phy/RUSS/map_data.json")
230 // Warn if the browser doesn't support addEventListener or the Page Visibility API
231 if (typeof document.addEventListener === "undefined" || hidden === undefined) {
234 // Handle page visibility change
235 document.addEventListener(visibilityChange, handleVisibilityChange, false);
238 var urlparam = new URL(window.location.href);
239 var param_url = urlparam.searchParams.get('parent_url') + "/";
240 var param_prefix = urlparam.searchParams.get('local_uri_prefix', "");
241 var KISMET_PROXY_PREFIX = urlparam.searchParams.get('KISMET_PROXY_PREFIX', "");
243 if (param_prefix == 0)
246 var local_uri_prefix = param_url + param_prefix;
247 if (typeof(KISMET_URI_PREFIX) !== 'undefined')
248 local_uri_prefix = KISMET_URI_PREFIX;
250 var map_configured = true; //set back to false once i fix the json parsing