Skip to content

Commit 57578c7

Browse files
committed
2 parents 71273e3 + 1699e99 commit 57578c7

File tree

2 files changed

+30
-16
lines changed

2 files changed

+30
-16
lines changed

src/openlayers/mapping/WebMap.js

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import SampleDataInfo from './webmap/config/SampleDataInfo.json';// eslint-disab
2727
import GeoJSON from 'ol/format/GeoJSON';
2828
import MVT from 'ol/format/MVT';
2929
import Observable from 'ol/Observable';
30-
import Map from 'ol/Map';
30+
import olMap from 'ol/Map';
3131
import View from 'ol/View';
3232
import * as olProj from 'ol/proj';
3333
import * as olProj4 from 'ol/proj/proj4';
@@ -216,7 +216,7 @@ export class WebMap extends Observable {
216216
overlays = mapSetting.overlays;
217217
controls = mapSetting.controls;
218218
}
219-
this.map = new Map({
219+
this.map = new olMap({
220220
interactions: interactions,
221221
overlays: overlays,
222222
controls: controls,
@@ -1200,18 +1200,27 @@ export class WebMap extends Observable {
12001200
* @description 获取(Supermap RestMap)的图层参数。
12011201
* @param {Object} layerInfo - 图层信息。
12021202
* @param {function} callback - 获得tile图层参数执行的回调函数
1203+
* @param {function} failedCallback - 失败回调函数
12031204
*/
1204-
async getTileLayerExtent(layerInfo, callback) {
1205+
async getTileLayerExtent(layerInfo, callback, failedCallback) {
12051206
let that = this;
12061207
// 默认使用动态投影方式请求数据
12071208
let dynamicLayerInfo = await that.getTileLayerExtentInfo(layerInfo)
1208-
if (dynamicLayerInfo) {
1209-
Object.assign(layerInfo, dynamicLayerInfo);
1210-
callback(layerInfo);
1209+
if (dynamicLayerInfo.succeed === false) {
1210+
if (dynamicLayerInfo.error.code === 400) {
1211+
// dynamicLayerInfo.error.code === 400 不支持动态投影,请求restmap原始信息
1212+
let originLayerInfo = await that.getTileLayerExtentInfo(layerInfo, false);
1213+
if (originLayerInfo.succeed === false) {
1214+
failedCallback();
1215+
} else {
1216+
Object.assign(layerInfo, originLayerInfo);
1217+
callback(layerInfo);
1218+
}
1219+
} else {
1220+
failedCallback();
1221+
}
12111222
} else {
1212-
// 不支持动态投影,请求restmap原始信息
1213-
let originLayerInfo = await that.getTileLayerExtentInfo(layerInfo, false);
1214-
Object.assign(layerInfo, originLayerInfo);
1223+
Object.assign(layerInfo, dynamicLayerInfo);
12151224
callback(layerInfo);
12161225
}
12171226
}
@@ -1220,7 +1229,7 @@ export class WebMap extends Observable {
12201229
* @private
12211230
* @function ol.supermap.WebMap.prototype.getTileLayerExtentInfo
12221231
* @description 获取rest map的图层参数。
1223-
* @param {String} url - 图层url
1232+
* @param {Object} layerInfo - 图层信息
12241233
* @param {Boolean} isDynamic - 是否请求动态投影信息
12251234
*/
12261235
getTileLayerExtentInfo(layerInfo, isDynamic = true) {
@@ -1249,7 +1258,7 @@ export class WebMap extends Observable {
12491258
return response.json();
12501259
}).then(async (result) => {
12511260
if (result.succeed === false) {
1252-
return null
1261+
return result
12531262
}
12541263
// let isSupportWebp = await that.isSupportWebp(layerInfo.url, token);
12551264
return {
@@ -1261,7 +1270,10 @@ export class WebMap extends Observable {
12611270
format: 'png'
12621271
}
12631272
}).catch((error) => {
1264-
throw error;
1273+
return {
1274+
succeed: false,
1275+
error: error
1276+
}
12651277
});
12661278
}
12671279

@@ -1688,6 +1700,10 @@ export class WebMap extends Observable {
16881700
that.map.addLayer(that.createBaseLayer(layerInfo, layerIndex));
16891701
that.layerAdded++;
16901702
that.sendMapToUser(len);
1703+
}, function (e) {
1704+
that.layerAdded++;
1705+
that.sendMapToUser(len);
1706+
that.errorCallback && that.errorCallback(e, 'getLayerFaild', that.map);
16911707
})
16921708
}else if (layer.layerType === 'SUPERMAP_REST' ||
16931709
layer.layerType === "WMS" ||

test/leaflet/components/distributedanalysis/DistributedAnalysisViewSpec.js

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)