From c0b64ddcba7a52f332b2195d7acc74d07bb94037 Mon Sep 17 00:00:00 2001 From: wyc <1104749580@qq.com> Date: Tue, 4 Aug 2026 17:21:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81mbtiles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Map/Cesium_Map.tsx | 2 +- src/Map/Leaflet_Map.tsx | 4 ++-- src/Map/Map_Resources.tsx | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Map/Cesium_Map.tsx b/src/Map/Cesium_Map.tsx index ffe7fe8..f84d5e0 100644 --- a/src/Map/Cesium_Map.tsx +++ b/src/Map/Cesium_Map.tsx @@ -364,7 +364,7 @@ export class Cesium_Map extends enhance.Base { const maximum_level = view_config.tile_zoom_mode === "upscale" ? resource.maximum_level : Math.min(resource.maximum_level, display_maximum_level); return new Cesium.UrlTemplateImageryProvider({ url: url_template_for_y_axis(resource), - minimumLevel: resource.minimum_level, + minimumLevel: 0, maximumLevel: maximum_level, tileWidth: resource.tile_size, tileHeight: resource.tile_size, diff --git a/src/Map/Leaflet_Map.tsx b/src/Map/Leaflet_Map.tsx index 4c4135d..9d68f32 100644 --- a/src/Map/Leaflet_Map.tsx +++ b/src/Map/Leaflet_Map.tsx @@ -327,13 +327,13 @@ export class Leaflet_Map extends enhance.Base { const display_maximum_level = Math.max(imagery.minimum_level, Math.min(view_config.tile_display_maximum_level, 24)); const max_native_zoom = Math.min(imagery.maximum_level, display_maximum_level); const max_zoom = Math.max(imagery.maximum_level, display_maximum_level, 24); - this.map.setMinZoom(imagery.minimum_level); + this.map.setMinZoom(0); this.map.setMaxZoom(max_zoom); if (this.map.getZoom() > max_zoom) { this.map.setZoom(max_zoom); } this.tile_layer = L.tileLayer(imagery.url, { - minZoom: imagery.minimum_level, + minZoom: 0, maxZoom: max_zoom, minNativeZoom: imagery.minimum_level, maxNativeZoom: max_native_zoom, diff --git a/src/Map/Map_Resources.tsx b/src/Map/Map_Resources.tsx index 324c0fe..a45b007 100644 --- a/src/Map/Map_Resources.tsx +++ b/src/Map/Map_Resources.tsx @@ -16,11 +16,14 @@ export type Map_Tile_Metadata = { export type Map_Imagery_Source_Metadata = { key: string name: string + tile_type: "imagery" | string resource: Map_Tile_Metadata } export type Map_Resources_Metadata = { current_imagery_key: string + tile_sources: Map_Imagery_Source_Metadata[] imagery_sources: Map_Imagery_Source_Metadata[] + terrain_sources: Map_Imagery_Source_Metadata[] imagery: Map_Tile_Metadata google_imagery?: Map_Tile_Metadata terrain: Map_Tile_Metadata @@ -31,8 +34,8 @@ export async function load_map_resources(): Promise { } export function imagery_source_for_key(resources: Map_Resources_Metadata, key: string): Map_Imagery_Source_Metadata { const source = resources.imagery_sources.find(item => item.key === key) || resources.imagery_sources[0]; - if (source) return source; - return {key: "imagery", name: "本地卫星影像", resource: resources.imagery}; + if (!source) throw new Error("No imagery source configured"); + return source; } export function imagery_source_options(resources: Map_Resources_Metadata | null): {value: string, label: string}[] { return (resources?.imagery_sources || []).map(source => {