* @private * @function WebMap.prototype.createBaseLayer * @description 创建矢量图层,包括底图及其叠加的矢量图层 * @param {Object} layerInfo - 关于地图的信息 * @param {number} index - 当前图层在地图中的index * @param {boolean} isCallBack - 是否调用回调函数 * @param {scope} {Object} this对象
(layerInfo, index, isCallBack, scope, isBaseLayer)
| 967 | * @param {scope} {Object} this对象 |
| 968 | */ |
| 969 | createBaseLayer(layerInfo, index, isCallBack, scope, isBaseLayer) { |
| 970 | let source, |
| 971 | that = this; |
| 972 | |
| 973 | if (scope) { |
| 974 | // 解决异步回调 |
| 975 | that = scope; |
| 976 | } |
| 977 | let layerType = layerInfo.layerType; //底图和rest地图兼容 |
| 978 | if ( |
| 979 | layerType.indexOf('TIANDITU_VEC') > -1 || |
| 980 | layerType.indexOf('TIANDITU_IMG') > -1 || |
| 981 | layerType.indexOf('TIANDITU_TER') > -1 |
| 982 | ) { |
| 983 | layerType = layerType.substr(0, 12); |
| 984 | } |
| 985 | switch (layerType) { |
| 986 | case 'TIANDITU_VEC': |
| 987 | case 'TIANDITU_IMG': |
| 988 | case 'TIANDITU_TER': |
| 989 | source = this.createTiandituSource(layerType, layerInfo.projection); |
| 990 | break; |
| 991 | case 'BAIDU': |
| 992 | source = this.createBaiduSource(); |
| 993 | break; |
| 994 | case 'BING': |
| 995 | source = this.createBingSource(); |
| 996 | break; |
| 997 | case 'WMS': |
| 998 | source = this.createWMSSource(layerInfo); |
| 999 | break; |
| 1000 | case 'WMTS': |
| 1001 | source = that.createWMTSSource(layerInfo); |
| 1002 | break; |
| 1003 | case 'TILE': |
| 1004 | case 'SUPERMAP_REST': |
| 1005 | source = that.createDynamicTiledSource(layerInfo, isBaseLayer); |
| 1006 | break; |
| 1007 | case 'ZXY_TILE': |
| 1008 | source = this.createXYZTileSource(layerInfo); |
| 1009 | break; |
| 1010 | case 'CLOUD': |
| 1011 | case 'CLOUD_BLACK': |
| 1012 | case 'OSM': |
| 1013 | case 'JAPAN_ORT': |
| 1014 | case 'JAPAN_RELIEF': |
| 1015 | case 'JAPAN_PALE': |
| 1016 | case 'JAPAN_STD': |
| 1017 | case 'GOOGLE_CN': |
| 1018 | case 'GOOGLE': |
| 1019 | source = this.createXYZSource(layerInfo); |
| 1020 | break; |
| 1021 | default: |
| 1022 | break; |
| 1023 | } |
| 1024 | var layer = new olLayer.Tile({ |
| 1025 | source: source, |
| 1026 | zIndex: layerInfo.zIndex || 1, |
no test coverage detected