labels: work around chromium bug
This commit is contained in:
@@ -834,17 +834,20 @@ PlaneObject.prototype.updateIcon = function() {
|
||||
let svgKey = fillColor + '!' + this.shape.name + '!' + this.strokeWidth;
|
||||
let labelText = null;
|
||||
|
||||
if ( enableLabels && (!multiSelect || (multiSelect && this.selected)) &&
|
||||
if (isNaN(g.enableLabels) || isNaN(g.extendedLabels)) {
|
||||
console.log(`${g.enableLabels} ${g.extendedLabels}`);
|
||||
}
|
||||
if ( g.enableLabels && (!multiSelect || (multiSelect && this.selected)) &&
|
||||
(
|
||||
(zoomLvl >= labelZoom && this.altitude != "ground" && this.dataSource != "ais")
|
||||
|| (zoomLvl >= labelZoomGround - 2 && this.speed > 5 && !this.fakeHex)
|
||||
|| (zoomLvl >= labelZoomGround + 0 && !this.fakeHex)
|
||||
|| (zoomLvl >= labelZoomGround + 1)
|
||||
(g.zoomLvl >= labelZoom && this.altitude != "ground" && this.dataSource != "ais")
|
||||
|| (g.zoomLvl >= labelZoomGround - 2 && this.speed > 5 && !this.fakeHex)
|
||||
|| (g.zoomLvl >= labelZoomGround + 0 && !this.fakeHex)
|
||||
|| (g.zoomLvl >= labelZoomGround + 1)
|
||||
|| this.selected
|
||||
)
|
||||
) {
|
||||
let callsign = "";
|
||||
if (this.flight && this.flight.trim() && !(this.dataSource == "ais" && !extendedLabels))
|
||||
if (this.flight && this.flight.trim() && !(this.dataSource == "ais" && !g.extendedLabels))
|
||||
callsign = this.flight.trim();
|
||||
else if (this.registration)
|
||||
callsign = 'reg: ' + this.registration;
|
||||
@@ -878,7 +881,7 @@ PlaneObject.prototype.updateIcon = function() {
|
||||
labelText += '\nHIJACK';
|
||||
}
|
||||
}
|
||||
} else if (extendedLabels == 3) {
|
||||
} else if (g.extendedLabels == 3) {
|
||||
if (!windLabelsSlim) {
|
||||
labelText += 'Wind' + NBSP;
|
||||
}
|
||||
@@ -905,15 +908,15 @@ PlaneObject.prototype.updateIcon = function() {
|
||||
if (windLabelsSlim && this.wd == null) {
|
||||
labelText = '';
|
||||
}
|
||||
} else if (extendedLabels == 2) {
|
||||
} else if (g.extendedLabels == 2) {
|
||||
labelText += (this.registration ? this.registration : unknown) + NBSP + (this.icaoType ? this.icaoType : unknown) + '\n';
|
||||
}
|
||||
if (extendedLabels == 1 || extendedLabels == 2) {
|
||||
if (g.extendedLabels == 1 || g.extendedLabels == 2) {
|
||||
if ((!this.onGround || (this.speed && this.speed > 18) || (this.selected && !SelectedAllPlanes))) {
|
||||
labelText += speedString + NBSP + NNBSP + altString.padStart(6, NBSP) + '\n';
|
||||
}
|
||||
}
|
||||
if (extendedLabels < 3 && !uk_advisory) {
|
||||
if (g.extendedLabels < 3 && !uk_advisory) {
|
||||
labelText += callsign;
|
||||
}
|
||||
}
|
||||
@@ -1741,11 +1744,11 @@ PlaneObject.prototype.updateMarker = function(moved) {
|
||||
this.scale = iconSize * this.baseScale;
|
||||
this.strokeWidth = outlineWidth * ((this.selected && !SelectedAllPlanes && !onlySelected) ? 0.85 : 0.7) / this.baseScale;
|
||||
|
||||
if (!this.marker && (!webgl || enableLabels)) {
|
||||
if (!this.marker && (!webgl || g.enableLabels)) {
|
||||
this.marker = new ol.Feature(this.olPoint);
|
||||
this.marker.hex = `${this.icao}`;
|
||||
}
|
||||
if (webgl && !enableLabels && this.marker) {
|
||||
if (webgl && !g.enableLabels && this.marker) {
|
||||
if (this.marker.visible) {
|
||||
PlaneIconFeatures.removeFeature(this.marker);
|
||||
this.marker.visible = false;
|
||||
@@ -1766,7 +1769,7 @@ PlaneObject.prototype.updateMarker = function(moved) {
|
||||
this.glMarker.set('sy', getSpriteY(this.shape) * glIconSize);
|
||||
}
|
||||
|
||||
if (this.marker && (!webgl || enableLabels)) {
|
||||
if (this.marker && (!webgl || g.enableLabels)) {
|
||||
this.updateIcon();
|
||||
if (!this.marker.visible) {
|
||||
this.marker.visible = true;
|
||||
@@ -1958,7 +1961,7 @@ PlaneObject.prototype.updateLines = function() {
|
||||
seg.label = true;
|
||||
} else if (
|
||||
trackLabels ||
|
||||
((i == 0 || i == this.track_linesegs.length-1 ||seg.leg) && showTrace && enableLabels)
|
||||
((i == 0 || i == this.track_linesegs.length-1 ||seg.leg) && showTrace && g.enableLabels)
|
||||
) {
|
||||
// 0 vertical rate to avoid arrow
|
||||
let altString;
|
||||
|
||||
@@ -58,8 +58,8 @@ let debugRoute = false;
|
||||
let trackLabels = false;
|
||||
let multiSelect = false;
|
||||
let uat_data = null;
|
||||
let enableLabels = false;
|
||||
let extendedLabels = 0;
|
||||
g.enableLabels = false;
|
||||
g.extendedLabels = 0;
|
||||
let mapIsVisible = true;
|
||||
let onlyMilitary = false;
|
||||
let onlySelected = false;
|
||||
@@ -152,8 +152,8 @@ let shareLink = '';
|
||||
|
||||
let CenterLat = 0;
|
||||
let CenterLon = 0;
|
||||
let zoomLvl = 5;
|
||||
let zoomLvlCache;
|
||||
g.zoomLvl = 5;
|
||||
g.zoomLvlCache;
|
||||
|
||||
let TrackedAircraft = 0;
|
||||
let globeTrackedAircraft = 0;
|
||||
@@ -650,7 +650,7 @@ function fetchData(options) {
|
||||
return (globeIndexNow[x] - globeIndexNow[y]);
|
||||
});
|
||||
|
||||
if (binCraft && onlyMilitary && zoomLvl < 5.5) {
|
||||
if (binCraft && onlyMilitary && g.zoomLvl < 5.5) {
|
||||
ac_url.push('data/globeMil_42777' + suffix);
|
||||
} else {
|
||||
|
||||
@@ -885,7 +885,7 @@ function earlyInitPage() {
|
||||
defaultOverlays.push('uka_shoreham');
|
||||
MapType_tar1090 = 'carto_light_all';
|
||||
lineWidth=4;
|
||||
enableLabels=true;
|
||||
g.enableLabels=true;
|
||||
}
|
||||
if (usp.has('debugFetch')) {
|
||||
debugFetch = true;
|
||||
@@ -1130,10 +1130,10 @@ function earlyInitPage() {
|
||||
toggleLabels();
|
||||
}
|
||||
if (usp.has('extendedLabels')) {
|
||||
extendedLabels = parseInt(usp.getFloat('extendedLabels'));
|
||||
g.extendedLabels = parseInt(usp.getFloat('extendedLabels'));
|
||||
toggleExtendedLabels({ noIncrement: true });
|
||||
} else if (loStore['extendedLabels']) {
|
||||
extendedLabels = parseInt(loStore['extendedLabels']);
|
||||
g.extendedLabels = parseInt(loStore['extendedLabels']);
|
||||
toggleExtendedLabels({ noIncrement: true });
|
||||
}
|
||||
if (loStore['trackLabels'] == "true" || usp.has('trackLabels')) {
|
||||
@@ -2469,7 +2469,7 @@ function ol_map_init() {
|
||||
layers: layers_group,
|
||||
view: new ol.View({
|
||||
center: ol.proj.fromLonLat([CenterLon, CenterLat]),
|
||||
zoom: zoomLvl,
|
||||
zoom: g.zoomLvl,
|
||||
multiWorld: true,
|
||||
}),
|
||||
controls: [new ol.control.Zoom({delta: 1, duration: 0, target: 'map_canvas',}),
|
||||
@@ -2716,8 +2716,8 @@ function initMap() {
|
||||
CenterLon = Number(loStore['CenterLon']) || DefaultCenterLon;
|
||||
CenterLat = Number(loStore['CenterLat']) || DefaultCenterLat;
|
||||
//console.log("initMap Centerlat: " + CenterLat);
|
||||
zoomLvl = Number(loStore['zoomLvl']) || DefaultZoomLvl;
|
||||
zoomLvlCache = zoomLvl;
|
||||
g.zoomLvl = Number(loStore['zoomLvl']) || DefaultZoomLvl;
|
||||
g.zoomLvlCache = g.zoomLvl;
|
||||
|
||||
if (globeIndex && aggregator) {
|
||||
jQuery('#dump1090_total_history_td').hide();
|
||||
@@ -4608,10 +4608,10 @@ function resetMap() {
|
||||
// Reset loStore values and map settings
|
||||
loStore['CenterLat'] = CenterLat
|
||||
loStore['CenterLon'] = CenterLon
|
||||
//loStore['zoomLvl'] = zoomLvl = DefaultZoomLvl;
|
||||
//loStore['zoomLvl'] = g.zoomLvl = DefaultZoomLvl;
|
||||
|
||||
// Set and refresh
|
||||
//OLMap.getView().setZoom(zoomLvl);
|
||||
//OLMap.getView().setZoom(g.zoomLvl);
|
||||
|
||||
//console.log('resetMap setting center ' + [CenterLat, CenterLon]);
|
||||
OLMap.getView().setCenter(ol.proj.fromLonLat([CenterLon, CenterLat]));
|
||||
@@ -5001,33 +5001,34 @@ function toggleTableInView(arg) {
|
||||
}
|
||||
|
||||
function toggleLabels() {
|
||||
enableLabels = !enableLabels;
|
||||
loStore['enableLabels'] = enableLabels;
|
||||
g.enableLabels = !g.enableLabels;
|
||||
console.log(`${g.enableLabels} ${g.extendedLabels}`);
|
||||
loStore['enableLabels'] = g.enableLabels;
|
||||
for (let key in g.planesOrdered) {
|
||||
g.planesOrdered[key].updateMarker();
|
||||
}
|
||||
refreshFeatures();
|
||||
buttonActive('#L', enableLabels);
|
||||
buttonActive('#L', g.enableLabels);
|
||||
|
||||
if (showTrace)
|
||||
remakeTrails();
|
||||
}
|
||||
|
||||
function toggleExtendedLabels(options) {
|
||||
if (isNaN(extendedLabels))
|
||||
extendedLabels = 0;
|
||||
if (isNaN(g.extendedLabels))
|
||||
g.extendedLabels = 0;
|
||||
|
||||
options = options || {};
|
||||
if (!options.noIncrement) {
|
||||
extendedLabels++;
|
||||
g.extendedLabels++;
|
||||
}
|
||||
extendedLabels %= 4;
|
||||
g.extendedLabels %= 4;
|
||||
//console.log(extendedLabels);
|
||||
loStore['extendedLabels'] = extendedLabels;
|
||||
loStore['extendedLabels'] = g.extendedLabels;
|
||||
for (let key in g.planesOrdered) {
|
||||
g.planesOrdered[key].updateMarker();
|
||||
}
|
||||
buttonActive('#O', extendedLabels);
|
||||
buttonActive('#O', g.extendedLabels);
|
||||
}
|
||||
|
||||
function toggleTrackLabels() {
|
||||
@@ -5092,7 +5093,7 @@ function onJump(e) {
|
||||
console.log("jumping to: " + coords[0] + " " + coords[1]);
|
||||
OLMap.getView().setCenter(ol.proj.fromLonLat([coords[1], coords[0]]));
|
||||
|
||||
if (zoomLvl >= 7) {
|
||||
if (g.zoomLvl >= 7) {
|
||||
fetchData({force: true});
|
||||
}
|
||||
|
||||
@@ -5523,16 +5524,16 @@ function changeZoom(init) {
|
||||
if (!OLMap)
|
||||
return;
|
||||
|
||||
zoomLvl = OLMap.getView().getZoom();
|
||||
g.zoomLvl = OLMap.getView().getZoom();
|
||||
|
||||
checkScale();
|
||||
|
||||
// small zoomstep, no need to change aircraft scaling
|
||||
if (!init && Math.abs(zoomLvl-zoomLvlCache) < 0.4)
|
||||
if (!init && Math.abs(g.zoomLvl-g.zoomLvlCache) < 0.4)
|
||||
return;
|
||||
|
||||
loStore['zoomLvl'] = zoomLvl;
|
||||
zoomLvlCache = zoomLvl;
|
||||
loStore['zoomLvl'] = g.zoomLvl;
|
||||
g.zoomLvlCache = g.zoomLvl;
|
||||
|
||||
if (!init && showTrace)
|
||||
updateAddressBar();
|
||||
@@ -5541,9 +5542,9 @@ function changeZoom(init) {
|
||||
}
|
||||
|
||||
function checkScale() {
|
||||
if (zoomLvl > markerZoomDivide) {
|
||||
if (g.zoomLvl > markerZoomDivide) {
|
||||
iconSize = markerBig;
|
||||
} else if (zoomLvl > markerZoomDivide - 1) {
|
||||
} else if (g.zoomLvl > markerZoomDivide - 1) {
|
||||
iconSize = markerSmall;
|
||||
} else {
|
||||
iconSize = markerSmall;
|
||||
@@ -5574,7 +5575,7 @@ function setGlobalScale(scale, init) {
|
||||
}
|
||||
|
||||
function checkPointermove() {
|
||||
if ((webgl || zoomLvl > 5.5) && enableMouseover && !onMobile) {
|
||||
if ((webgl || g.zoomLvl > 5.5) && enableMouseover && !onMobile) {
|
||||
OLMap.on('pointermove', onPointermove);
|
||||
} else {
|
||||
OLMap.un('pointermove', onPointermove);
|
||||
@@ -5768,7 +5769,7 @@ function mapRefresh(redraw) {
|
||||
const plane = g.planesOrdered[i];
|
||||
delete plane.glMarker;
|
||||
// disable mobile limitations when using webGL
|
||||
if (plane.selected || (plane.inView && plane.visible && (!onMobile || webgl || (nMapPlanes < 150 && (!plane.onGround || zoomLvl > 10))))) {
|
||||
if (plane.selected || (plane.inView && plane.visible && (!onMobile || webgl || (nMapPlanes < 150 && (!plane.onGround || g.zoomLvl > 10))))) {
|
||||
addToMap.push(plane);
|
||||
nMapPlanes++;
|
||||
} else {
|
||||
@@ -6285,7 +6286,7 @@ function updateAddressBar() {
|
||||
|
||||
if (showTrace || replay) {
|
||||
string += (string ? '&' : '?');
|
||||
string += 'lat=' + CenterLat.toFixed(3) + '&lon=' + CenterLon.toFixed(3) + '&zoom=' + zoomLvl.toFixed(1);
|
||||
string += 'lat=' + CenterLat.toFixed(3) + '&lon=' + CenterLon.toFixed(3) + '&zoom=' + g.zoomLvl.toFixed(1);
|
||||
}
|
||||
|
||||
if (SelPlanes.length > 0 && (showTrace)) {
|
||||
@@ -6509,7 +6510,7 @@ function toggleShowTrace() {
|
||||
const plane = SelPlanes[i];
|
||||
plane.setNull();
|
||||
}
|
||||
selectPlaneByHex(hex, {noDeselect: true, follow: true, zoom: zoomLvl,});
|
||||
selectPlaneByHex(hex, {noDeselect: true, follow: true, zoom: g.zoomLvl,});
|
||||
if (replay) {
|
||||
replayStep();
|
||||
}
|
||||
@@ -6649,7 +6650,7 @@ function shiftTrace(offset) {
|
||||
jQuery("#histDatePicker").datepicker('setDate', traceDateString);
|
||||
|
||||
for (let i in SelPlanes) {
|
||||
selectPlaneByHex(SelPlanes[i].icao, {noDeselect: true, zoom: zoomLvl});
|
||||
selectPlaneByHex(SelPlanes[i].icao, {noDeselect: true, zoom: g.zoomLvl});
|
||||
}
|
||||
|
||||
updateAddressBar();
|
||||
@@ -7871,9 +7872,9 @@ function replayStep(arg) {
|
||||
i += 4;
|
||||
|
||||
let ext;
|
||||
if (zoomLvl > 10) {
|
||||
if (g.zoomLvl > 10) {
|
||||
ext = currentExtent(1.6);
|
||||
} else if (zoomLvl > 8) {
|
||||
} else if (g.zoomLvl > 8) {
|
||||
ext = currentExtent(1.2);
|
||||
} else {
|
||||
ext = currentExtent(1.1);
|
||||
|
||||
Reference in New Issue
Block a user