diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index 21c406b..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/TiandituMap.vue b/src/components/TiandituMap.vue index f5cde87..148b17f 100644 --- a/src/components/TiandituMap.vue +++ b/src/components/TiandituMap.vue @@ -49,7 +49,9 @@ const initMap = () => { layers: vectorLayers, view: new View({ center: fromLonLat(TIANDITU_CONFIG.DEFAULT_CENTER), - zoom: TIANDITU_CONFIG.DEFAULT_ZOOM + zoom: TIANDITU_CONFIG.DEFAULT_ZOOM, + minZoom: TIANDITU_CONFIG.MIN_ZOOM, + maxZoom: TIANDITU_CONFIG.MAX_ZOOM }), controls: controls }) diff --git a/src/components/WipeEffectMap.vue b/src/components/WipeEffectMap.vue index 2781a2c..aecac7a 100644 --- a/src/components/WipeEffectMap.vue +++ b/src/components/WipeEffectMap.vue @@ -82,7 +82,9 @@ const initMap = () => { target: mapDiv.value, view: new View({ center: fromLonLat(TIANDITU_CONFIG.DEFAULT_CENTER), - zoom: TIANDITU_CONFIG.DEFAULT_ZOOM + zoom: TIANDITU_CONFIG.DEFAULT_ZOOM, + minZoom: TIANDITU_CONFIG.MIN_ZOOM, + maxZoom: TIANDITU_CONFIG.MAX_ZOOM }), controls: controls, }) diff --git a/src/config/tianditu.js b/src/config/tianditu.js index fc3ccdd..50dc8d2 100644 --- a/src/config/tianditu.js +++ b/src/config/tianditu.js @@ -6,31 +6,35 @@ export const TIANDITU_CONFIG = { // 申请地址:https://console.tianditu.gov.cn/ // 如果没有API Key,地图将无法正常显示 API_KEY: '4559200347e75489c4474f5b11846368', - + // 天地图服务URL配置 (使用子域名轮询) SERVICES: { // 矢量底图 VECTOR: 'http://t{0-7}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk={key}', - + // 矢量注记 VECTOR_ANNOTATION: 'http://t{0-7}.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk={key}', - + // 影像底图 SATELLITE: 'http://t{0-7}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk={key}', - + // 影像注记 SATELLITE_ANNOTATION: 'http://t{0-7}.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk={key}' }, - + // 服务器子域名 SUB_DOMAINS: ['0', '1', '2', '3', '4', '5', '6', '7'], - + // 默认地图中心点(上海) DEFAULT_CENTER: [121.4737, 31.2304], - + // 默认缩放级别 DEFAULT_ZOOM: 14, - + + // 缩放级别限制 + MIN_ZOOM: 1, + MAX_ZOOM: 18, + // OpenLayers 投影配置 PROJECTION: 'EPSG:4326' -} \ No newline at end of file +} diff --git a/src/utils/splitScreen.js b/src/utils/splitScreen.js index da8820f..cfa77ce 100644 --- a/src/utils/splitScreen.js +++ b/src/utils/splitScreen.js @@ -7,6 +7,7 @@ import TileLayer from 'ol/layer/Tile' import XYZ from 'ol/source/XYZ' import { fromLonLat } from 'ol/proj' import { defaults } from 'ol/control'; +import { TIANDITU_CONFIG } from '../config/tianditu.js' /** * 分屏地图管理器 @@ -162,7 +163,9 @@ export class SplitScreenManager { target: container, view: new View({ center: fromLonLat(options.center), - zoom: options.zoom + zoom: options.zoom, + minZoom: TIANDITU_CONFIG.MIN_ZOOM, + maxZoom: TIANDITU_CONFIG.MAX_ZOOM }), controls: controls })