Fix incorrect flagging of 000000 ICAO codes as mode A/C

This commit is contained in:
Carlos Salaverria 2016-09-14 13:10:20 -05:00
parent f1428530c3
commit 4989111f67
2 changed files with 8 additions and 12 deletions

View file

@ -214,14 +214,10 @@ PlaneObject.prototype.getDataSource = function() {
return 'adsb'; return 'adsb';
} }
var emptyHexRegex = /^0*$/; // Otherwise Mode S
// No position and no ICAO hex code - Mode A/C
if (emptyHexRegex.test(this.icao)) {
return 'mode_ac';
}
// No position and ICAO hex code present - Mode S
return 'mode_s'; return 'mode_s';
// TODO: add support for Mode A/C
}; };
PlaneObject.prototype.getMarkerColor = function() { PlaneObject.prototype.getMarkerColor = function() {

View file

@ -8,7 +8,7 @@ var SiteCircleFeatures = new ol.Collection();
var PlaneIconFeatures = new ol.Collection(); var PlaneIconFeatures = new ol.Collection();
var PlaneTrailFeatures = new ol.Collection(); var PlaneTrailFeatures = new ol.Collection();
var Planes = {}; var Planes = {};
var PlanesModeAc = {}; var PlanesNoHex = {};
var PlanesOrdered = []; var PlanesOrdered = [];
var PlaneFilter = {}; var PlaneFilter = {};
var SelectedPlane = null; var SelectedPlane = null;
@ -74,8 +74,8 @@ function processReceiverUpdate(data) {
if (hex !== "000000" && Planes[hex]) { if (hex !== "000000" && Planes[hex]) {
plane = Planes[hex]; plane = Planes[hex];
} else if (hex === "000000" && PlanesModeAc[squawk]) { } else if (hex === "000000" && PlanesNoHex[squawk]) {
plane = PlanesModeAc[squawk]; plane = PlanesNoHex[squawk];
} else { } else {
plane = new PlaneObject(hex); plane = new PlaneObject(hex);
plane.filter = PlaneFilter; plane.filter = PlaneFilter;
@ -123,7 +123,7 @@ function processReceiverUpdate(data) {
Planes[hex] = plane; Planes[hex] = plane;
} else { } else {
PlanesModeAc[squawk] = plane; PlanesNoHex[squawk] = plane;
} }
PlanesOrdered.push(plane); PlanesOrdered.push(plane);
} }
@ -676,7 +676,7 @@ function reaper() {
plane.tr.parentNode.removeChild(plane.tr); plane.tr.parentNode.removeChild(plane.tr);
plane.tr = null; plane.tr = null;
if (plane.icao === "000000") { if (plane.icao === "000000") {
delete PlanesModeAc[plane.squawk]; delete PlanesNoHex[plane.squawk];
} else { } else {
delete Planes[plane.icao]; delete Planes[plane.icao];
} }