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';
}
var emptyHexRegex = /^0*$/;
// 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
// Otherwise Mode S
return 'mode_s';
// TODO: add support for Mode A/C
};
PlaneObject.prototype.getMarkerColor = function() {

View file

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