Ok… work in progress, but i will load data…
First images:
General view with options for low and high airways
RNAV and airspace menu options

Special use airspace, MVA and default dump1090 data

Files to modify:
- script.js
Copy next data between “layers = createBaseLayers();” and “var foundType = false;”, replacing original text.
// idoA01S… after “layers = createBaseLayers();”
var iconsLayer = new ol.layer.Vector({
name: ‘ac_positions’,
type: ‘overlay’,
title: ‘Aircraft positions’,
source: new ol.source.Vector({
features: PlaneIconFeatures,
})
})
// idoA01E
// idoA02S
var positionrange = new ol.layer.Vector({
name: ‘site_pos’,
type: ‘overlay’,
title: ‘Site position and range rings’,
source: new ol.source.Vector({
features: StaticFeatures,
})
})
// idoA02E
// idoA03S
var selectedtrail = new ol.layer.Vector({
name: ‘ac_trail’,
type: ‘overlay’,
// title: ‘Selected aircraft trail’,
visible: true,
source: new ol.source.Vector({
features: PlaneTrailFeatures,
})
})
// idoA03E
// idoA04S
layers.push(new ol.layer.Group({
title: ‘Basic Data’,
fold: ‘open’,
layers: [iconsLayer,positionrange,selectedtrail],
}));
// idoA04E
// idoA05S
/* var iconsLayer = new ol.layer.Vector({
name: ‘ac_positions’,
type: ‘overlay’,
title: ‘Aircraft positions’,
source: new ol.source.Vector({
features: PlaneIconFeatures,
})
});
layers.push(new ol.layer.Group({
title: 'Overlays',
layers: [
new ol.layer.Vector({
name: 'site_pos',
type: 'overlay',
title: 'Site position and range rings',
source: new ol.source.Vector({
features: StaticFeatures,
})
}),
new ol.layer.Vector({
name: 'ac_trail',
type: 'overlay',
title: 'Selected aircraft trail',
source: new ol.source.Vector({
features: PlaneTrailFeatures,
})
}),
iconsLayer
]
}));*/
// idoA05E … before “var foundType = false;”
- style.css
Change “.layer-switcher” to
.layer-switcher {
position: absolute;
top: 175px !important;
right: 0px !important;
text-align: left;
}
Add:
.layer-switcher.shown {
right: 25px;
max-height: 400px;
}
- Replace info inside “layer.js” and copy next text:
// -- mode: javascript; indent-tabs-mode: nil; c-basic-offset: 8 --
“use strict”;
var OLMap = null;
var PlaneIconFeatures = new ol.Collection();
var PlaneTrailFeatures = new ol.Collection();
var SelectedPlane = null;
var SelectedAllPlanes = false;
// idoA01S
function lowairway(feature) {
var styles = [
new ol.style.Style({
image: new ol.style.RegularShape({
fill: new ol.style.Fill({
color: ‘rgba(52,65,111,0.3)’,
}),
points: 3,
radius: 5,
rotation: 0,
angle: 0
}),
}),
];
styles.push(new ol.style.Style({
text: new ol.style.Text({
// text: feature.get('name'),
align: 'center',
font: "9px tahoma",
fill: new ol.style.Fill({color: 'rgba(52,65,111,0.3)'}),
offsetX: 0,
offsetY: 8,
placement: "point",
textBaseline: "top"
}),
stroke: new ol.style.Stroke({
color: 'rgba(52,65,111,0.3)',
width: 2
}),
}));
return styles;
};
// idoA01E
// idoA02S
function highairway(feature) {
var styles = [
new ol.style.Style({
image: new ol.style.RegularShape({
fill: new ol.style.Fill({
color: ‘rgba(111,111,111,0.3)’,
}),
points: 3,
radius: 5,
rotation: 0,
angle: 0
}),
}),
];
styles.push(new ol.style.Style({
text: new ol.style.Text({
// text: feature.get('name'),
align: 'center',
font: "9px tahoma",
fill: new ol.style.Fill({color: 'rgba(111,111,111,0.3)'}),
offsetX: 0,
offsetY: 8,
placement: "point",
textBaseline: "top"
}),
stroke: new ol.style.Stroke({
color: 'rgba(111,111,111,0.3)',
width: 2
}),
}));
return styles;
};
// idoA02E
// idoA03S
function rnavairway(feature) {
var styles = [
new ol.style.Style({
image: new ol.style.RegularShape({
fill: new ol.style.Fill({
color: ‘rgba(78,124,98,0.3)’,
}),
points: 3,
radius: 5,
rotation: 0,
angle: 0
}),
}),
];
styles.push(new ol.style.Style({
text: new ol.style.Text({
// text: feature.get('name'),
align: 'center',
font: "9px tahoma",
fill: new ol.style.Fill({color: 'rgba(78,124,98,0.3)'}),
offsetX: 0,
offsetY: 8,
placement: "point",
textBaseline: "top"
}),
stroke: new ol.style.Stroke({
color: 'rgba(78,124,98,0.3)',
width: 2
}),
}));
return styles;
};
// idoA03E
// idoA04S
function mvalabel(feature) {
var styles = [
new ol.style.Style({
}),
];
var extent = feature.getGeometry().getExtent();
var topRightCoor = [extent[2], extent[3]];
styles.push(new ol.style.Style({
geometry: new ol.geom.Point(topRightCoor),
text: new ol.style.Text({
text: feature.get(‘name’),
font: “bold 14px Tahoma”,
fill: new ol.style.Fill({color: ‘rgba(255, 170, 0, 1.00)’}),
})
}));
return styles;
};
// idoA04E
// idoA05S
function mrplabel(feature) {
var styles = [
new ol.style.Style({
}),
];
var extent = feature.getGeometry().getExtent();
var topRightCoor = [extent[2], extent[3]];
styles.push(new ol.style.Style({
geometry: new ol.geom.Point(topRightCoor),
text: new ol.style.Text({
text: feature.get(‘name’),
font: “bold 12px Tahoma”,
fill: new ol.style.Fill({color: ‘rgba(255, 0, 0, 1.00)’}),
})
}));
return styles;
};
// idoA05E
// idoA06S
function ctrlabel(feature) {
var styles = [
new ol.style.Style({
}),
];
var extent = feature.getGeometry().getExtent();
var topRightCoor = [extent[2], extent[3]];
styles.push(new ol.style.Style({
geometry: new ol.geom.Point(topRightCoor),
text: new ol.style.Text({
text: feature.get(‘name’),
font: “bold 12px Tahoma”,
fill: new ol.style.Fill({color: ‘rgba(211, 211, 211, 1.00)’}),
}),
stroke: new Stroke({
color: ‘#333333’,
width: 1
})
}));
return styles;
};
// idoA06E
// idoB01S
var tmaelcoco = new ol.layer.Vector({
name: ‘tma’,
type: ‘overlay’,
title: ‘El Coco TMA’,
source: new ol.source.Vector({
url: ‘layers/TMA-ELCOCO.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(85, 170, 255, 0.40)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(85, 170, 255, 0.10)’
})
}),
})
// idoB01E
// idoB02S
var tmaliberia = new ol.layer.Vector({
name: ‘tma’,
type: ‘overlay’,
title: ‘Liberia TMA’,
source: new ol.source.Vector({
url: ‘layers/TMA-LIBERIA.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(85, 170, 255, 0.40)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(85, 170, 255, 0.10)’
})
}),
})
// idoB02E
// idoB03S
var ctrelcoco = new ol.layer.Vector({
name: ‘ctr’,
type: ‘overlay’,
title: ‘El Coco CTR’,
source: new ol.source.Vector({
url: ‘layers/CTR-ELCOCO.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(211, 211, 211, 0.80)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(211, 211, 211, 0.20)’
})
}),
})
// idoB03E
// idoB04S
var ctrliberia = new ol.layer.Vector({
name: ‘ctr’,
type: ‘overlay’,
title: ‘Liberia CTR’,
source: new ol.source.Vector({
url: ‘layers/CTR-LIBERIA.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(211, 211, 211, 0.80)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(211, 211, 211, 0.20)’
})
}),
})
// idoB04E
// idoB05S
var atzpavas = new ol.layer.Vector({
name: ‘atz’,
type: ‘overlay’,
title: ‘Pavas ATZ’,
source: new ol.source.Vector({
url: ‘layers/ATZ-PAVAS.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(170, 255, 255, 0.60)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(170, 255, 255, 0.20)’
})
}),
})
// idoB05E
// idoB06S
var mvaelcoco = new ol.layer.Vector({
name: ‘mvacoco’,
type: ‘overlay’,
title: ‘Coco MVA’,
source: new ol.source.Vector({
url: ‘layers/MVA-MROC.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(255, 170, 0, 0.60)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(255, 170, 0, 0.10)’
})
}),
})
// idoB06E
// idoB07S
var mrp1 = new ol.layer.Vector({
name: ‘mrp’,
type: ‘overlay’,
title: ‘Prohibited Area MRP-1’,
source: new ol.source.Vector({
url: ‘layers/MRP-1.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(255, 0, 0, 0.60)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(255, 0, 0, 0.10)’
})
}),
})
// idoB07E
// idoB08S
var mrp2 = new ol.layer.Vector({
name: ‘mrp’,
type: ‘overlay’,
title: ‘Prohibited Area MRP-2’,
source: new ol.source.Vector({
url: ‘layers/MRP-2.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(255, 0, 0, 0.60)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(255, 0, 0, 0.10)’
})
}),
})
// idoB08E
// idoB09S
var mrr1 = new ol.layer.Vector({
name: ‘mrr’,
type: ‘overlay’,
title: ‘Restricted Area MRR-1’,
source: new ol.source.Vector({
url: ‘layers/MRR-1.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(255, 255, 0, 0.50)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(255, 255, 0, 0.20)’
})
}),
})
// idoB09E
// idoB10S
var mrr2 = new ol.layer.Vector({
name: ‘mrr’,
type: ‘overlay’,
title: ‘Restricted Area MRR-2’,
source: new ol.source.Vector({
url: ‘layers/MRR-2.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(255, 255, 0, 0.50)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(255, 255, 0, 0.20)’
})
}),
})
// idoB10E
// idoB11S
var mrr3 = new ol.layer.Vector({
name: ‘mrr’,
type: ‘overlay’,
title: ‘Restricted Area MRR-3’,
source: new ol.source.Vector({
url: ‘layers/MRR-3.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(255, 255, 0, 0.50)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(255, 255, 0, 0.20)’
})
}),
})
// idoB11E
// idoB12S
var mtz1 = new ol.layer.Vector({
name: ‘mtz’,
type: ‘overlay’,
title: ‘Training Area MTZ-1’,
source: new ol.source.Vector({
url: ‘layers/MTZ-1.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 170, 0, 0.30)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 170, 0, 0.10)’
})
}),
})
// idoB12E
// idoB13S
var mtz2 = new ol.layer.Vector({
name: ‘mtz’,
type: ‘overlay’,
title: ‘Training Area MTZ-2’,
source: new ol.source.Vector({
url: ‘layers/MTZ-2.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 170, 0, 0.30)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 170, 0, 0.10)’
})
}),
})
// idoB13E
// idoB14S
var mtz3a = new ol.layer.Vector({
name: ‘mtz’,
type: ‘overlay’,
title: ‘Training Area MTZ-3A’,
source: new ol.source.Vector({
url: ‘layers/MTZ-3A.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 170, 0, 0.30)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 170, 0, 0.10)’
})
}),
})
// idoB14E
// idoB15S
var mtz3b = new ol.layer.Vector({
name: ‘mtz’,
type: ‘overlay’,
title: ‘Training Area MTZ-3B’,
source: new ol.source.Vector({
url: ‘layers/MTZ-3B.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 170, 0, 0.30)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 170, 0, 0.10)’
})
}),
})
// idoB15E
// idoB16S
var mtz4 = new ol.layer.Vector({
name: ‘mtz’,
type: ‘overlay’,
title: ‘Training Area MTZ-4’,
source: new ol.source.Vector({
url: ‘layers/MTZ-4.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 170, 0, 0.30)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 170, 0, 0.10)’
})
}),
})
// idoB16E
// idoB17S
var mtz5 = new ol.layer.Vector({
name: ‘mtz’,
type: ‘overlay’,
title: ‘Training Area MTZ-5’,
source: new ol.source.Vector({
url: ‘layers/MTZ-5.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 170, 0, 0.30)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 170, 0, 0.10)’
})
}),
})
// idoB17E
// idoB18S
var zogtsancarlos = new ol.layer.Vector({
name: ‘zogt’,
type: ‘overlay’,
title: ‘Sport Area ZOGT San Carlos’,
source: new ol.source.Vector({
url: ‘layers/ZOGT San Carlos.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 70, 0, 0.10)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 70, 0, 0.05)’
})
}),
})
// idoB18E
// idoB19S
var zogtnaranjo = new ol.layer.Vector({
name: ‘zogt’,
type: ‘overlay’,
title: ‘Sport Area ZOGT Naranjo’,
source: new ol.source.Vector({
url: ‘layers/ZOGT Naranjo.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 70, 0, 0.10)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(0, 70, 0, 0.05)’
})
}),
})
// idoB19E
// idoB20S
var fuelelcoco = new ol.layer.Vector({
name: ‘fda’,
type: ‘overlay’,
title: ‘Fuel Dumping Area El Coco’,
source: new ol.source.Vector({
url: ‘layers/FDA EL COCO.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(45, 64, 168, 0.15)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(45, 64, 168, 0.10)’
})
}),
})
// idoB20E
// idoB21S
var fuelliberia = new ol.layer.Vector({
name: ‘fda’,
type: ‘overlay’,
title: ‘Fuel Dumping Area Liberia’,
source: new ol.source.Vector({
url: ‘layers/FDA LIBERIA.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(45, 64, 168, 0.15)’,
width: 2
}),
fill: new ol.style.Fill({
color: ‘rgba(45, 64, 168, 0.10)’
})
}),
})
// idoB21E
// idoB22S
var a317 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘A317’,
source: new ol.source.Vector({
url: ‘layers/A317.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB22E
// idoB23S
var a322 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘A322’,
source: new ol.source.Vector({
url: ‘layers/A322.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB23E
// idoB24S
var a502 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘A502’,
source: new ol.source.Vector({
url: ‘layers/A502.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB24E
// idoB25S
var b690 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘B690’,
source: new ol.source.Vector({
url: ‘layers/B690.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB25E
// idoB26S
var b767 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘B767’,
source: new ol.source.Vector({
url: ‘layers/B767.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB26E
// idoB27S
var g436 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘G436’,
source: new ol.source.Vector({
url: ‘layers/G436.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB27E
// idoB28S
var g439 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘G439’,
source: new ol.source.Vector({
url: ‘layers/G439.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB28E
// idoB29S
var g440 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘G440’,
source: new ol.source.Vector({
url: ‘layers/G440.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB29E
// idoB30S
var r773 = new ol.layer.Vector({
name: ‘lowairway’,
type: ‘overlay’,
title: ‘R773’,
source: new ol.source.Vector({
url: ‘layers/R773.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: lowairway,
})
// idoB30E
// idoB31S
var ua317 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UA317’,
source: new ol.source.Vector({
url: ‘layers/UA317.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB31E
// idoB32S
var ua322 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UA322’,
source: new ol.source.Vector({
url: ‘layers/UA322.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB32E
// idoB33S
var ua502 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UA502’,
source: new ol.source.Vector({
url: ‘layers/UA502.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB33E
// idoB34S
var ub690 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UB690’,
source: new ol.source.Vector({
url: ‘layers/UB690.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB34E
// idoB35S
var ub767 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UB767’,
source: new ol.source.Vector({
url: ‘layers/UB767.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB35E
// idoB36S
var ug436 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UG436’,
source: new ol.source.Vector({
url: ‘layers/UG436.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB36E
// idoB37S
var ug439 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UG439’,
source: new ol.source.Vector({
url: ‘layers/UG439.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB37E
// idoB38S
var ug440 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UG440’,
source: new ol.source.Vector({
url: ‘layers/UG440.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB38E
// idoB39S
var ur773 = new ol.layer.Vector({
name: ‘highairway’,
type: ‘overlay’,
title: ‘UR773’,
source: new ol.source.Vector({
url: ‘layers/UR773.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: highairway,
})
// idoB39E
// idoB40S
var ul200 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UL200’,
source: new ol.source.Vector({
url: ‘layers/UL200.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB40E
// idoB41S
var ul423 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UL423’,
source: new ol.source.Vector({
url: ‘layers/UL423.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB41E
// idoB42S
var ul655 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UL655’,
source: new ol.source.Vector({
url: ‘layers/UL655.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB42E
// idoB43S
var um419 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UM419’,
source: new ol.source.Vector({
url: ‘layers/UM419.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB43E
// idoB44S
var um659 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UM659’,
source: new ol.source.Vector({
url: ‘layers/UM659.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB44E
// idoB45S
var um796 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UM796’,
source: new ol.source.Vector({
url: ‘layers/UM796.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB45E
// idoB46S
var uz403 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UZ403’,
source: new ol.source.Vector({
url: ‘layers/UZ403.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB46E
// idoB47S
var uz593 = new ol.layer.Vector({
name: ‘rnavairway’,
type: ‘overlay’,
title: ‘UZ593’,
source: new ol.source.Vector({
url: ‘layers/UZ593.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: rnavairway,
})
// idoB47E
// idoB48S
var mvaelcocolabels = new ol.layer.Vector({
name: ‘mvalabel’,
type: ‘overlay’,
title: ‘Coco MVA Labels’,
source: new ol.source.Vector({
url: ‘layers/MVA-MROC-ALT.json’,
format: new ol.format.GeoJSON({
defaultDataProjection :‘EPSG:4326’,
projection: ‘EPSG:3857’
}),
}),
style: mvalabel,
declutter: true
})
// idoB48E
var layers;
function createBaseLayers() {
var layers = ;
layers.push(
new ol.layer.Group({
fold: 'open',
layers: [
new ol.layer.Tile({
name: 'osm',
type: 'base',
visible: false,
}),
new ol.layer.Tile({
source: new ol.source.OSM({
"url" : "http://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png"}),
name: 'osm',
title: 'OSM Light',
type: 'base',
visible: true,
}),
],
}),
new ol.layer.Group({
title: 'Low Airways',
fold: 'close',
layers: [a317,a322,a502,b690,b767,g436,g439,g440,r773],
}),
new ol.layer.Group({
title: 'High Airways',
fold: 'open',
layers: [ua317,ua322,ua502,ub690,ub767,ug436,ug439,ug440,ur773],
}),
new ol.layer.Group({
title: 'RNAV Airways',
fold: 'open',
layers: [ul200,ul423,ul655,um419,um659,um796,uz403,uz593],
}),
new ol.layer.Group({
title: 'Airspace TMAs, CTRs & ATZs',
fold: 'open',
layers: [tmaelcoco,tmaliberia,ctrelcoco,ctrliberia,atzpavas],
}),
new ol.layer.Group({
title: 'Special Use Airspace',
fold: 'open',
layers: [mvaelcoco,mrp1,mrp2,mrr1,mrr2,mrr3],
}),
new ol.layer.Group({
title: 'Special Use Airspace (secondary)',
fold: 'open',
layers: [mtz1,mtz2,mtz3a,mtz3b,mtz4,mtz5,zogtsancarlos,zogtnaranjo,fuelelcoco,fuelliberia],
}),
new ol.layer.Group({
title: 'Labels',
fold: 'open',
layers: [mvaelcocolabels],
}),
);
return layers;
}
- Inside html folder copy folder “layers” that i am loading (you must before unzip the file)
- It’s all