mirror of
https://github.com/jketterl/openwebrx.git
synced 2026-01-21 16:10:21 +01:00
add links to aircraft tracking sites
This commit is contained in:
parent
32575a1824
commit
204c725a75
|
|
@ -35,6 +35,7 @@ $(function(){
|
|||
var strokeOpacity = 0.8;
|
||||
var fillOpacity = 0.35;
|
||||
var callsign_service;
|
||||
var aircraft_tracking_service;
|
||||
|
||||
var colorKeys = {};
|
||||
var colorScale = chroma.scale(['red', 'blue', 'green']).mode('hsl');
|
||||
|
|
@ -318,6 +319,9 @@ $(function(){
|
|||
if ('callsign_service' in config) {
|
||||
callsign_service = config['callsign_service'];
|
||||
}
|
||||
if ('aircraft_tracking_service' in config) {
|
||||
aircraft_tracking_service = config['aircraft_tracking_service'];
|
||||
}
|
||||
break;
|
||||
case "update":
|
||||
processUpdates(json.value);
|
||||
|
|
@ -386,7 +390,7 @@ $(function(){
|
|||
// we can reuse the same logic for displaying and indexing
|
||||
var sourceToString = sourceToKey;
|
||||
|
||||
var linkifySource = function(source) {
|
||||
var linkifyCallsign = function(source) {
|
||||
var callsignString = sourceToString(source);
|
||||
switch (callsign_service) {
|
||||
case "qrzcq":
|
||||
|
|
@ -401,6 +405,25 @@ $(function(){
|
|||
}
|
||||
};
|
||||
|
||||
var linkifyAircraft = function(source, identification) {
|
||||
var aircraftString = identification || source.icao;
|
||||
var link = false;
|
||||
switch (aircraft_tracking_service) {
|
||||
case 'flightaware':
|
||||
link = 'https://flightaware.com/live/modes/' + source.icao;
|
||||
if (identification) link += "/ident/" + identification
|
||||
link += '/redirect';
|
||||
break;
|
||||
case 'planefinder':
|
||||
if (identification) link = 'https://planefinder.net/flight/' + identification;
|
||||
break;
|
||||
}
|
||||
if (link) {
|
||||
return '<a target="_blank" href="' + link + '">' + aircraftString + '</a>';
|
||||
}
|
||||
return aircraftString;
|
||||
}
|
||||
|
||||
var distanceKm = function(p1, p2) {
|
||||
// Earth radius in km
|
||||
var R = 6371.0;
|
||||
|
|
@ -435,7 +458,7 @@ $(function(){
|
|||
'<ul>' +
|
||||
inLocator.map(function(i){
|
||||
var timestring = moment(i.lastseen).fromNow();
|
||||
var message = linkifySource(i.source) + ' (' + timestring + ' using ' + i.mode;
|
||||
var message = linkifyCallsign(i.source) + ' (' + timestring + ' using ' + i.mode;
|
||||
if (i.band) message += ' on ' + i.band;
|
||||
message += ')';
|
||||
return '<li>' + message + '</li>'
|
||||
|
|
@ -461,7 +484,7 @@ $(function(){
|
|||
}
|
||||
var title;
|
||||
if (marker.icao) {
|
||||
title = marker.identification || marker.icao;
|
||||
title = linkifyAircraft(source, marker.identification);
|
||||
if ('altitude' in marker) {
|
||||
commentString += '<div>Altitude: ' + marker.altitude + ' ft</div>';
|
||||
}
|
||||
|
|
@ -478,7 +501,7 @@ $(function(){
|
|||
commentString += '<div>TAS: ' + marker.TAS + ' kt</div>/';
|
||||
}
|
||||
} else {
|
||||
linkifySource(source);
|
||||
title = linkifyCallsign(source);
|
||||
}
|
||||
infowindow.setContent(
|
||||
'<h3>' + title + distance + '</h3>' +
|
||||
|
|
|
|||
|
|
@ -459,6 +459,7 @@ class MapConnection(OpenWebRxClient):
|
|||
"receiver_gps",
|
||||
"map_position_retention_time",
|
||||
"callsign_service",
|
||||
"aircraft_tracking_service",
|
||||
"receiver_name",
|
||||
)
|
||||
self.configSub = filtered_config.wire(self.write_config)
|
||||
|
|
|
|||
|
|
@ -183,6 +183,17 @@ class GeneralSettingsController(SettingsFormController):
|
|||
Option("aprsfi", "aprs.fi"),
|
||||
],
|
||||
),
|
||||
DropdownInput(
|
||||
"aircraft_tracking_service",
|
||||
"Aircraft tracking service",
|
||||
infotext="Allows users to navigate to an external flight tracking service by clicking on flight "
|
||||
+ "numbers",
|
||||
options=[
|
||||
Option(None, "disabled"),
|
||||
Option("flightaware", "FlightAware"),
|
||||
Option("planefinder", "planefinder"),
|
||||
]
|
||||
)
|
||||
),
|
||||
]
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue