diff --git a/sec-beidou/src/main/resources/templates/page/device_overview.html b/sec-beidou/src/main/resources/templates/page/device_overview.html index a01814e9..1cbd0819 100644 --- a/sec-beidou/src/main/resources/templates/page/device_overview.html +++ b/sec-beidou/src/main/resources/templates/page/device_overview.html @@ -229,9 +229,9 @@
@@ -365,12 +365,48 @@ layers: [ new ol.layer.Tile({ source: new ol.source.XYZ({ - url: 'https://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=' + TIANDITU_KEY + url: 'https://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=' + TIANDITU_KEY, + tileLoadFunction: function(imageTile, src) { + imageTile.getImage().src = src; + imageTile.getImage().onerror = function() { + // 天地图加载失败时切换到高德地图 + var mapTypeSelect = document.getElementById('mapTypeSelect'); + if(mapTypeSelect.value === 'tianditu_satellite') { + mapTypeSelect.value = 'amap_satellite'; + switchMapType('amap_satellite'); + layer.msg('天地图卫星图加载失败,已自动切换到高德卫星图'); + layui.form.render('select'); + } else if(mapTypeSelect.value === 'tianditu_normal') { + mapTypeSelect.value = 'amap'; + switchMapType('amap'); + layer.msg('天地图矢量图加载失败,已自动切换到高德矢量图'); + layui.form.render('select'); + } + }; + } }) }), new ol.layer.Tile({ source: new ol.source.XYZ({ - url: 'https://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=' + TIANDITU_KEY + url: 'https://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=' + TIANDITU_KEY, + tileLoadFunction: function(imageTile, src) { + imageTile.getImage().src = src; + imageTile.getImage().onerror = function() { + // 天地图加载失败时切换到高德地图 + var mapTypeSelect = document.getElementById('mapTypeSelect'); + if(mapTypeSelect.value === 'tianditu_satellite') { + mapTypeSelect.value = 'amap_satellite'; + switchMapType('amap_satellite'); + layer.msg('天地图卫星图加载失败,已自动切换到高德卫星图'); + layui.form.render('select'); + } else if(mapTypeSelect.value === 'tianditu_normal') { + mapTypeSelect.value = 'amap'; + switchMapType('amap'); + layer.msg('天地图矢量图加载失败,已自动切换到高德矢量图'); + layui.form.render('select'); + } + }; + } }) }) ] @@ -379,12 +415,48 @@ layers: [ new ol.layer.Tile({ source: new ol.source.XYZ({ - url: 'https://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=' + TIANDITU_KEY + url: 'https://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=' + TIANDITU_KEY, + tileLoadFunction: function(imageTile, src) { + imageTile.getImage().src = src; + imageTile.getImage().onerror = function() { + // 天地图加载失败时切换到高德地图 + var mapTypeSelect = document.getElementById('mapTypeSelect'); + if(mapTypeSelect.value === 'tianditu_satellite') { + mapTypeSelect.value = 'amap_satellite'; + switchMapType('amap_satellite'); + layer.msg('天地图卫星图加载失败,已自动切换到高德卫星图'); + layui.form.render('select'); + } else if(mapTypeSelect.value === 'tianditu_normal') { + mapTypeSelect.value = 'amap'; + switchMapType('amap'); + layer.msg('天地图矢量图加载失败,已自动切换到高德矢量图'); + layui.form.render('select'); + } + }; + } }) }), new ol.layer.Tile({ source: new ol.source.XYZ({ - url: 'https://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=' + TIANDITU_KEY + url: 'https://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=' + TIANDITU_KEY, + tileLoadFunction: function(imageTile, src) { + imageTile.getImage().src = src; + imageTile.getImage().onerror = function() { + // 天地图加载失败时切换到高德地图 + var mapTypeSelect = document.getElementById('mapTypeSelect'); + if(mapTypeSelect.value === 'tianditu_satellite') { + mapTypeSelect.value = 'amap_satellite'; + switchMapType('amap_satellite'); + layer.msg('天地图卫星图加载失败,已自动切换到高德卫星图'); + layui.form.render('select'); + } else if(mapTypeSelect.value === 'tianditu_normal') { + mapTypeSelect.value = 'amap'; + switchMapType('amap'); + layer.msg('天地图矢量图加载失败,已自动切换到高德矢量图'); + layui.form.render('select'); + } + }; + } }) }) ]