Showing 2 changed files with 18 additions and 15 deletions
+8 -9
Nasal/map.nas
... ...
@@ -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
 
+10 -6
zkv1000.nas
... ...
@@ -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);