... | ... |
@@ -7,11 +7,9 @@ var MapTiles = { |
7 | 7 |
m.group = m.display.createGroup(); |
8 | 8 |
m.tile_size = 256; |
9 | 9 |
m.zoom = 10; |
10 |
- m.tile_server = getprop('/instrumentation/zkv1000/mfd/online-tiles-server'); |
|
11 |
- m.type = getprop('/instrumentation/zkv1000/mfd/online-tiles-type'); |
|
12 | 10 |
m.maps_base = getprop("/sim/fg-home") ~ '/cache/maps'; |
13 |
- m.makeUrl = string.compileTemplate('https://{tile_server}/{type}/{z}/{x}/{y}.png'); |
|
14 |
- m.makePath = string.compileTemplate(m.maps_base ~ '/{tile_server}/{type}/{z}/{x}/{y}.png'); |
|
11 |
+ m.makeUrl = string.compileTemplate('https://{server}/{type}/{z}/{x}/{y}.png{apikey}'); |
|
12 |
+ m.makePath = string.compileTemplate(m.maps_base ~ '/{server}/{type}/{z}/{x}/{y}.png'); |
|
15 | 13 |
m.num_tiles = [ |
16 | 14 |
math.ceil( m.display.get('view[0]') / m.tile_size ) + 1, |
17 | 15 |
math.ceil( m.display.get('view[1]') / m.tile_size ) + 1 |
... | ... |
@@ -22,7 +20,7 @@ var MapTiles = { |
22 | 20 |
]; |
23 | 21 |
m.tiles = setsize([], m.num_tiles[0]); |
24 | 22 |
m.last_tile = [-1,-1]; |
25 |
- m.last_type = m.type; |
|
23 |
+ m.last_type = data['tiles-type']; |
|
26 | 24 |
m.update_timer = maketimer(2, m, m.updateTiles); |
27 | 25 |
return m; |
28 | 26 |
}, |
... | ... |
@@ -64,15 +62,16 @@ var MapTiles = { |
64 | 62 |
|
65 | 63 |
if( tile_index[0] != me.last_tile[0] |
66 | 64 |
or tile_index[1] != me.last_tile[1] |
67 |
- or me.type != me.last_type ) { |
|
65 |
+ or data['tiles-type'] != me.last_type ) { |
|
68 | 66 |
for(var x = 0; x < me.num_tiles[0]; x += 1) |
69 | 67 |
for(var y = 0; y < me.num_tiles[1]; y += 1) { |
70 | 68 |
var pos = { |
71 | 69 |
z: me.zoom, |
72 | 70 |
x: int(offset[0] + x), |
73 | 71 |
y: int(offset[1] + y), |
74 |
- type: me.type, |
|
75 |
- tile_server : me.tile_server, |
|
72 |
+ type: data['tiles-type'], |
|
73 |
+ server : data['tiles-server'], |
|
74 |
+ apikey: data['tiles-apikey'], |
|
76 | 75 |
}; |
77 | 76 |
|
78 | 77 |
(func { |
... | ... |
@@ -94,7 +93,7 @@ var MapTiles = { |
94 | 93 |
})(); |
95 | 94 |
} |
96 | 95 |
me.last_tile = tile_index; |
97 |
- me.last_type = me.type; |
|
96 |
+ me.last_type = data['tiles-type']; |
|
98 | 97 |
} |
99 | 98 |
}, |
100 | 99 |
|
... | ... |
@@ -136,12 +136,16 @@ var init_props = func { |
136 | 136 |
setprop('/sim/gui/dialogs/map-canvas/draw-WXR', 1); |
137 | 137 |
setprop('/sim/gui/dialogs/map-canvas/draw-TUT', 1); |
138 | 138 |
setprop('/sim/gui/dialogs/map-canvas/aircraft-heading-up', 0); |
139 |
- mfd = zkv.getNode('mfd', 1); |
|
140 |
- var tiles_server = getprop('/sim/online-tiles-server'); |
|
141 |
- var tiles_type = getprop('/sim/online-tiles-type'); |
|
142 |
- # see https://www.wikimedia.org/wiki/Maps |
|
143 |
- mfd.getNode('online-tiles-server', 1).setValue(tiles_server != nil ? tiles_server : 'maps.wikimedia.org'); |
|
144 |
- mfd.getNode('online-tiles-type', 1).setValue(tiles_type != nil ? tiles_type : 'osm-intl'); |
|
139 |
+ var tiles_defaults = { |
|
140 |
+ # see https://www.wikimedia.org/wiki/Maps |
|
141 |
+ server: 'maps.wikimedia.org', |
|
142 |
+ type: 'osm-intl', |
|
143 |
+ apikey: '', |
|
144 |
+ }; |
|
145 |
+ foreach (var v; keys(tiles_defaults)) { |
|
146 |
+ var val = getprop('/sim/online-tiles-' ~ v); |
|
147 |
+ data['tiles-' ~ v] = val != nil ? val : tiles_defaults[v]; |
|
148 |
+ } |
|
145 | 149 |
|
146 | 150 |
props.globals.getNode('/instrumentation/transponder/id-code',1).setIntValue(1200); |
147 | 151 |
props.globals.getNode('/instrumentation/transponder/serviceable',1).setBoolValue(1); |