Skip to content

Commit 56e7d2b

Browse files
committed
feat: 更新 GEOResourceManifest 类中的 HYBRID 功能
Update GEOResourceManifest.mjs Update boxjs.settings.json Update database.mjs
1 parent 35d53d2 commit 56e7d2b

File tree

4 files changed

+221
-32
lines changed

4 files changed

+221
-32
lines changed

arguments-builder.config.ts

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -116,30 +116,6 @@ export default defineConfig({
116116
],
117117
type: "string",
118118
},
119-
{
120-
defaultValue: "XX",
121-
description: "此选项影响飞行俯瞰全球各地的主要地标和城市功能。",
122-
key: "TileSet.Flyover",
123-
name: "[瓦片数据集] 飞行俯瞰",
124-
options: [
125-
{ key: "AUTO", label: "🇺🇳自动(随[动态配置]版本自动选择)" },
126-
{ key: "CN", label: "🇨🇳Apple(🇨🇳:🈚️ | 🇺🇳:🈚️)" },
127-
{ key: "XX", label: "🇺🇳Apple(🇨🇳:🈚️ | 🇺🇳:🈶️)" },
128-
],
129-
type: "string",
130-
},
131-
{
132-
defaultValue: "XX",
133-
description: "此选项影响 360 度全景视角在某些地点四处看看功能。",
134-
key: "TileSet.Munin",
135-
name: "[瓦片数据集] 四处看看",
136-
options: [
137-
{ key: "AUTO", label: "🇺🇳自动(随[动态配置]版本自动选择)" },
138-
{ key: "CN", label: "🇨🇳Apple(🇨🇳:🈚️ | 🇺🇳:🈚️)" },
139-
{ key: "XX", label: "🇺🇳Apple(🇨🇳:🈚️ | 🇺🇳:🈶️)" },
140-
],
141-
type: "string",
142-
},
143119
{
144120
key: "LogLevel",
145121
name: "[调试] 日志等级",

src/class/GEOResourceManifest.mjs

Lines changed: 218 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export default class GEOResourceManifest {
5858
*/
5959
caches.XX.tileSet.forEach(tile => {
6060
if (!caches.CN.tileSet.some(i => i.style === tile.style)) {
61-
//Console.warn(`Missing style: ${tile?.style}`);
61+
Console.warn(`Missing style: ${tile?.style}`);
6262
tileSet.push(tile);
6363
}
6464
});
@@ -93,11 +93,70 @@ export default class GEOResourceManifest {
9393
//Console.warn(`Basic baseURL: ${tile?.baseURL}`);
9494
break;
9595
case "RASTER_SATELLITE": // 7 卫星地图(2D)
96+
//Console.warn(`Satellite style: ${tile?.style}`);
97+
switch (settings.TileSet.Satellite) {
98+
case "HYBRID":
99+
default:
100+
break;
101+
case "CN":
102+
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
103+
break;
104+
case "XX":
105+
switch (typeof tile.dataSet) {
106+
case "undefined":
107+
tile =
108+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
109+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
110+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) ||
111+
caches?.XX?.tileSet?.find(i => i.style === tile.style) ||
112+
tile;
113+
break;
114+
case "number":
115+
tile =
116+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
117+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
118+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.dataSet === tile.dataSet) ||
119+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.dataSet === tile.dataSet) ||
120+
tile;
121+
break;
122+
}
123+
break;
124+
}
125+
//Console.warn(`Satellite baseURL: ${tile?.baseURL}`);
126+
break;
96127
case "RASTER_SATELLITE_NIGHT": // 33 卫星地图(2D/夜间)
128+
//Console.warn(`Satellite style: ${tile?.style}`);
129+
switch (settings.TileSet.Satellite) {
130+
case "CN":
131+
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
132+
break;
133+
case "HYBRID":
134+
case "XX":
135+
default:
136+
switch (typeof tile.dataSet) {
137+
case "undefined":
138+
tile =
139+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
140+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
141+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) ||
142+
caches?.XX?.tileSet?.find(i => i.style === tile.style) ||
143+
tile;
144+
break;
145+
case "number":
146+
tile =
147+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
148+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
149+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.dataSet === tile.dataSet) ||
150+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.dataSet === tile.dataSet) ||
151+
tile;
152+
break;
153+
}
154+
break;
155+
}
156+
//Console.warn(`Satellite baseURL: ${tile?.baseURL}`);
157+
break;
97158
case "RASTER_SATELLITE_DIGITIZE": // 35 卫星地图(2D/数字化)
98159
case "RASTER_SATELLITE_ASTC": // 45 卫星地图(2D/ASTC)
99-
case "RASTER_SATELLITE_POLAR": // 91 卫星地图(2D/极地)
100-
case "RASTER_SATELLITE_POLAR_NIGHT": // 95 卫星地图(2D/极地/夜间)
101160
//Console.warn(`Satellite style: ${tile?.style}`);
102161
switch (settings.TileSet.Satellite) {
103162
case "HYBRID":
@@ -129,6 +188,38 @@ export default class GEOResourceManifest {
129188
}
130189
//Console.warn(`Satellite baseURL: ${tile?.baseURL}`);
131190
break;
191+
case "RASTER_SATELLITE_POLAR": // 91 卫星地图(2D/极地)
192+
case "RASTER_SATELLITE_POLAR_NIGHT": // 95 卫星地图(2D/极地/夜间)
193+
//Console.warn(`Satellite style: ${tile?.style}`);
194+
switch (settings.TileSet.Satellite) {
195+
case "CN":
196+
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
197+
break;
198+
case "HYBRID":
199+
case "XX":
200+
default:
201+
switch (typeof tile.dataSet) {
202+
case "undefined":
203+
tile =
204+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
205+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
206+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) ||
207+
caches?.XX?.tileSet?.find(i => i.style === tile.style) ||
208+
tile;
209+
break;
210+
case "number":
211+
tile =
212+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
213+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
214+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.dataSet === tile.dataSet) ||
215+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.dataSet === tile.dataSet) ||
216+
tile;
217+
break;
218+
}
219+
break;
220+
}
221+
//Console.warn(`Satellite baseURL: ${tile?.baseURL}`);
222+
break;
132223
case "VECTOR_TRAFFIC_SEGMENTS_FOR_RASTER": // 2 交通状况分段(卫星地图:显示交通状况)?
133224
case "VECTOR_TRAFFIC_INCIDENTS_FOR_RASTER": // 3 交通状况事件(卫星地图:显示交通状况)?
134225
case "VECTOR_TRAFFIC_SEGMENTS_AND_INCIDENTS_FOR_RASTER": // 4 交通状况分段和事件(卫星地图:显示交通状况)?
@@ -215,23 +306,145 @@ export default class GEOResourceManifest {
215306
case "SPUTNIK_C3M": // 15 卫星地图(3D/俯瞰)C3模型
216307
case "SPUTNIK_DSM": // 16 卫星地图(3D/俯瞰)数字表面模型
217308
case "SPUTNIK_DSM_GLOBAL": // 17 卫星地图(3D/俯瞰)全球数字表面模型
309+
//Console.warn(`Satellite style: ${tile?.style}`);
310+
switch (settings.TileSet.Satellite) {
311+
case "HYBRID":
312+
break;
313+
case "CN":
314+
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
315+
break;
316+
case "XX":
317+
default:
318+
switch (typeof tile.dataSet) {
319+
case "undefined":
320+
tile =
321+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
322+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
323+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) ||
324+
caches?.XX?.tileSet?.find(i => i.style === tile.style) ||
325+
tile;
326+
break;
327+
case "number":
328+
tile =
329+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
330+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
331+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.dataSet === tile.dataSet) ||
332+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.dataSet === tile.dataSet) ||
333+
tile;
334+
break;
335+
}
336+
break;
337+
}
338+
//Console.warn(`Flyover baseURL: ${tile?.baseURL}`);
339+
break;
218340
case "SPUTNIK_VECTOR_BORDER": // 34 卫星地图(3D/俯瞰)边界
341+
//Console.warn(`Satellite style: ${tile?.style}`);
342+
switch (settings.TileSet.Satellite) {
343+
case "CN":
344+
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
345+
break;
346+
case "HYBRID":
347+
case "XX":
348+
default:
349+
switch (typeof tile.dataSet) {
350+
case "undefined":
351+
tile =
352+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
353+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
354+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) ||
355+
caches?.XX?.tileSet?.find(i => i.style === tile.style) ||
356+
tile;
357+
break;
358+
case "number":
359+
tile =
360+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
361+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
362+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.dataSet === tile.dataSet) ||
363+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.dataSet === tile.dataSet) ||
364+
tile;
365+
break;
366+
}
367+
break;
368+
}
369+
//Console.warn(`Flyover baseURL: ${tile?.baseURL}`);
370+
break;
219371
case "FLYOVER_C3M_MESH": // 42 俯瞰C3模型(四处看看)?
220372
case "FLYOVER_C3M_JPEG_TEXTURE": // 43 俯瞰C3模型纹理(四处看看)?
221373
case "FLYOVER_C3M_ASTC_TEXTURE": // 44 俯瞰C3模型纹理(四处看看)?
374+
//Console.warn(`Flyover style: ${tile?.style}`);
375+
switch (settings.TileSet.Flyover) {
376+
case "HYBRID":
377+
break;
378+
case "CN":
379+
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
380+
break;
381+
case "XX":
382+
default:
383+
switch (typeof tile.dataSet) {
384+
case "undefined":
385+
tile =
386+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
387+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
388+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) ||
389+
caches?.XX?.tileSet?.find(i => i.style === tile.style) ||
390+
tile;
391+
break;
392+
case "number":
393+
tile =
394+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
395+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
396+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.dataSet === tile.dataSet) ||
397+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.dataSet === tile.dataSet) ||
398+
tile;
399+
break;
400+
}
401+
break;
402+
}
403+
//Console.warn(`Flyover baseURL: ${tile?.baseURL}`);
404+
break;
222405
case "FLYOVER_VISIBILITY": // 49 俯瞰可见性(四处看看)?
223406
case "FLYOVER_SKYBOX": // 50 俯瞰天空盒(四处看看)?
224407
case "FLYOVER_NAVGRAPH": // 51 俯瞰导航图(四处看看)?
225-
case "FLYOVER_METADATA": // 52 俯瞰元数据
226408
//Console.warn(`Flyover style: ${tile?.style}`);
227409
switch (settings.TileSet.Flyover) {
410+
case "CN":
411+
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
412+
break;
228413
case "HYBRID":
414+
case "XX":
229415
default:
416+
switch (typeof tile.dataSet) {
417+
case "undefined":
418+
tile =
419+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
420+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) ||
421+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) ||
422+
caches?.XX?.tileSet?.find(i => i.style === tile.style) ||
423+
tile;
424+
break;
425+
case "number":
426+
tile =
427+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
428+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size && i.dataSet === tile.dataSet) ||
429+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.dataSet === tile.dataSet) ||
430+
caches?.XX?.tileSet?.find(i => i.style === tile.style && i.dataSet === tile.dataSet) ||
431+
tile;
432+
break;
433+
}
434+
break;
435+
}
436+
//Console.warn(`Flyover baseURL: ${tile?.baseURL}`);
437+
break;
438+
case "FLYOVER_METADATA": // 52 俯瞰元数据
439+
//Console.warn(`Flyover style: ${tile?.style}`);
440+
switch (settings.TileSet.Flyover) {
441+
case "HYBRID":
230442
break;
231443
case "CN":
232444
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
233445
break;
234446
case "XX":
447+
default:
235448
switch (typeof tile.dataSet) {
236449
case "undefined":
237450
tile =
@@ -267,12 +480,12 @@ export default class GEOResourceManifest {
267480
//Console.warn(`Munin style: ${tile?.style}`);
268481
switch (settings.TileSet.Munin) {
269482
case "HYBRID":
270-
default:
271483
break;
272484
case "CN":
273485
tile = caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale && i.size === tile.size) || caches?.CN?.tileSet?.find(i => i.style === tile.style && i.scale === tile.scale) || caches?.CN?.tileSet?.find(i => i.style === tile.style) || tile;
274486
break;
275487
case "XX":
488+
default:
276489
switch (typeof tile.dataSet) {
277490
case "undefined":
278491
tile =

src/function/database.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ export default {
2020
Satellite: "HYBRID",
2121
Traffic: "CN",
2222
POI: "CN",
23-
Flyover: "XX",
24-
Munin: "XX",
23+
Flyover: "HYBRID",
24+
Munin: "HYBRID",
2525
},
2626
GeoManifest: {
2727
Dynamic: {

0 commit comments

Comments
 (0)