var ll_map; var ll_geoXmlTrack; var ll_geoXmlFixes; var ll_toggleState = 1; var ll_fixesVisible = 0; var ll_fixZoomLevel = 8; var ll_trackOverlay = "none" var ll_kmlSetNo = "0" var ll_acId = "none"; var ll_initialMapCenter = "49.960833,8.641555"; var ll_CVRHash = ""; var ll_infoBlubb; function ll_initialize() { //console.log("ll_initialize"); // TEMP!! //return; var ll_goCheck = document.getElementById("ll_acId"); if ( ll_goCheck == null ) { //console.log("ll_nada!"); return; } ll_acId = document.getElementById("ll_acId").value; //console.log("acId: " + ll_acId); ll_initialMapCenter = document.getElementById("ll_initialMapCenter").value; //console.log(ll_initialMapCenter); ll_trackOverlay = document.getElementById("ll_initialTrackOverlay").value; //console.log(ll_trackOverlay); ll_kmlSetNo = ""; //document.getElementById("ll_initialKmlSetNo").value; //console.log(ll_kmlSetNo); ll_map = L.map('ll_map_canvas').setView([50,8.5], 4); L.tileLayer('https://www.pilotundflugzeug.de/tiles/otm/{z}/{x}/{y}.png',{maxZoom:17}).addTo(ll_map); ll_map.on('zoomend', function() { console.log("New Zoom: " + ll_map.getZoom() + " / " + ll_fixesVisible); if ( ll_map.getZoom() > ll_fixZoomLevel && ll_fixesVisible == 0 ) { ll_map.addLayer(ll_geoXmlFixes); setTimeout('ll_updateFixesDisplayRelaod();',2000); // Weired workaround, but if we don't do this the fix positions will be off ll_fixesVisible = 1; } if ( ll_map.getZoom() <= ll_fixZoomLevel && ll_fixesVisible == 1 ) { ll_map.removeLayer(ll_geoXmlFixes); ll_fixesVisible = 0; } zoom = ll_map.getZoom(); }); jQuery('span.ll_mapLegend').load("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getAircraftParameter&acId="+ll_acId+"&pkey="+ll_trackOverlay+"-legend"); jQuery('span.ll_mapHeader').load("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getLiveLogMapHeader&acId="+ll_acId); ll_loadLoop(); } function ll_loadLoop() { //console.log("loop!"); ll_updateMap( false ); setTimeout( 'll_loadLoop()', 60000 ); } function ll_toggleMyKml( overlayName ) { if ( ll_trackOverlay == overlayName ) return; jQuery('span.ll_mapLegend').html("... loading ..."); ll_trackOverlay = overlayName; ll_updateMap( true ); } function ll_setMyKml() { var overlayName = document.getElementById("ll_ovselect").value; //alert(overlayName) ll_toggleMyKml( overlayName ); } function ll_generateGeoXml() { console.log(ll_trackOverlay); console.log(ll_kmlSetNo); var u1 = "https://www.pilotundflugzeug.de/trackkml/"+ll_acId+"/"+ll_kmlSetNo+"/"+ll_trackOverlay+"-track.kml"; var u2 = "https://www.pilotundflugzeug.de/trackkml/"+ll_acId+"/"+ll_kmlSetNo+"/"+ll_trackOverlay+"-fixes.kml"; var ll_geoXmlTrackOLD = ll_geoXmlTrack; var ll_geoXmlFixesOLD = ll_geoXmlFixes; ll_geoXmlTrack = new L.KML(u1, {async: true}); ll_geoXmlTrack.on('loaded', function() { console.log("LOADED! TRACKS bounds: " + ll_geoXmlTrack.getBounds().getNorthWest() + " / " + ll_geoXmlTrack.getBounds().getSouthEast()); if ( ll_geoXmlTrackOLD != null ) ll_map.removeLayer(ll_geoXmlTrackOLD); ll_map.fitBounds(ll_geoXmlTrack.getBounds(), {padding: [40,40]}); ll_map.addLayer(ll_geoXmlTrack); setTimeout('ll_updateTrackDisplayRelaod();',2000); // Weired workaround, but if we don't do this the icon position will be off }); ll_geoXmlFixes = new L.KML(u2, {async: true}); ll_geoXmlFixes.on('loaded', function() { console.log("LOADED! FIXES bounds: " + ll_geoXmlFixes.getBounds().getNorthWest() + " / " + ll_geoXmlFixes.getBounds().getSouthEast()); if ( ll_fixesVisible == 1 ) { if ( ll_geoXmlFixesOLD != null ) ll_map.removeLayer(ll_geoXmlFixesOLD); //ll_map.fitBounds(ll_geoXmlFixes.getBounds(), {padding: [40,40]}); ll_map.addLayer(ll_geoXmlFixes); } ll_internalUpdateFDRShortlist(); ll_internalUpdateCVRList(); }); } function ll_updateTrackDisplayRelaod() { if ( ll_geoXmlTrack != null ) { console.log("ll_updateTrackDisplayRelaod!") ll_map.removeLayer(ll_geoXmlTrack); ll_map.addLayer(ll_geoXmlTrack); } } function ll_updateFixesDisplayRelaod() { if ( ll_geoXmlFixes != null ) { console.log("ll_updateFixesDisplayRelaod!") ll_map.removeLayer(ll_geoXmlFixes); ll_map.addLayer(ll_geoXmlFixes); } } function ll_updateMapTableColor() { jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getAircraftParameter&acId="+ll_acId+"&pkey=running", function(data){ //alert("Data Loaded: " + data); if ( data == "true" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' ); if ( data == "false" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' ); }); } function ll_updateMap( force ) { //alert("updateMapHeader"); jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getLiveLogMapHeader&acId="+ll_acId, function(data){ //alert("Data Loaded: " + data); jQuery('span.ll_mapHeader').html( data ); var newSetNo = data.substring(4, 11); console.log("newSetNo: " + newSetNo); console.log("ll_kmlSetNo: " + ll_kmlSetNo); var running = data.substring(12, 13); console.log("running: " + running); if ( running == "y" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' ); if ( running == "n" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' ); if ( newSetNo != ll_kmlSetNo || force == true ) ll_internalUpdateMap( newSetNo ); }); } function ll_internalUpdateMap( newSetNo ) { //alert("internalUpdateMap: " + newSetNo); jQuery('span.ll_mapLegend').html("... loading ..."); ll_kmlSetNo = newSetNo; ll_generateGeoXml(); jQuery('span.ll_mapLegend').load("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getAircraftParameter&acId="+ll_acId+"&pkey="+ll_trackOverlay+"-legend"); } function ll_internalUpdateCVRList() { jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getCVRlist&acId="+ll_acId+"&date="+ll_trackOverlay, function(data){ //alert("2: " + data.length); var ts = ll_parseParameter(data, "1"); //alert("3: " + ts); if ( ts != ll_CVRHash ) { jQuery('#ll_cvrList tr:gt(0)').remove(); jQuery('#ll_cvrList').append(data); ll_CVRHash = ts; } }); } function ll_internalUpdateFDRShortlist() { if(document.getElementById('ll_FDRShortList')) { jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getFDRShortlist&acId="+ll_acId+"&date="+ll_trackOverlay+"&rows=9", function(data){ //alert("2: " + data.length); var ts = ll_parseParameter(data, "1"); //alert("3: " + ts); jQuery('#ll_FDRShortList tr:gt(0)').remove(); jQuery('span.ll_fdrHeader').html( ts ); //alert("hallo"); jQuery('#ll_FDRShortList').append(data); }); } } function ll_parseParameter( data, pName ) { var cut1 = data.indexOf(pName+"{{")+pName.length+2; var cut2 = data.indexOf("}}"+pName); return data.substring(cut1,cut2); } function ll_jumpFix( fixId ) { //alert(" jump: " + fixId); jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getSingleMarkerHtml&fixId="+fixId, function(data){ var lat = ll_parseParameter(data, "lat"); //console.log("lat: " + lat); var lon = ll_parseParameter(data, "lon"); //console.log("lon: " + lat); console.log("data: " + data); var latlng = new L.latLng( lat, lon ); ll_infoBlubb = L.popup() .setLatLng(latlng) .setContent(data) .openOn(ll_map); }); }