Skip to content

Commit b10067c

Browse files
committed
Merge branch 'dev' of github.com:MapGIS/WebClient-JavaScript into dev
2 parents 5ca1505 + 0e3aae2 commit b10067c

File tree

25 files changed

+208
-230
lines changed

25 files changed

+208
-230
lines changed

docs/jsdoc-config/cesium/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"includePattern": ".+\\.js?$",
1717
"include": ["src/cesiumjs/"],
1818
"exclude": [
19+
"src/service/node_modules",
1920
"src/cesiumjs/overlay/echarts/",
2021
"src/cesiumjs/overlay/mapv/",
2122
"src/cesiumjs/ui/draw/"

docs/jsdoc-config/leaflet/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"exclude": [
2020
"src/service/baseserver",
2121
"src/leaflet/extend/leaflet-plugins",
22+
"src/service/node_modules",
2223
"src/service/node_modules/turf-jsts/",
2324
"src/service/node_modules/@turf",
2425
"src/service/node_modules/polygon-clipping",

docs/jsdoc-config/mapboxgl/docs.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
"include": ["src/service/", "src/mapboxgl/"],
1818
"exclude": [
1919
"src/service/baseserver",
20-
"src/service/node_modules/turf-jsts/",
20+
"src/service/node_modules",
21+
"src/service/node_modules/turf-jsts",
2122
"src/service/node_modules/@turf",
2223
"src/service/node_modules/polygon-clipping",
2324
"src/service/node_modules/splaytree"

docs/jsdoc-config/openlayers/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"include": ["src/service/", "src/openlayers"],
1818
"exclude": [
1919
"src/service/baseserver",
20+
"src/service/node_modules",
2021
"src/openlayers/extend/MilStd_old.js",
2122
"src/service/node_modules/turf-jsts/",
2223
"src/service/node_modules/@turf",

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
{
22
"name": "@mapgis/webclient",
3-
"version": "10.5.3",
3+
"version": "10.5.4",
44
"description": "",
55
"main": "index.js",
66
"scripts": {
77
"website": "cd website && npm run serve",
88
"website-build": "cd website && npm run build",
9+
"build-all": "npm run build-all-plugins && npm run build-all-docs && npm run website-build",
10+
"build-dist": "npm run build-all-plugins && npm run build-all-docs",
11+
"build-all-plugins": "npm run leaflet-plugin-debug && npm run leaflet-plugin-release && npm run openlayers-plugin-debug && npm run openlayers-plugin-release && npm run mapbox-plugin-debug && npm run mapbox-plugin-release && npm run cesium-plugin-debug && npm run cesium-plugin-release && npm run service-debug && npm run service-release",
12+
"build-all-docs": "npm run build-docs-leaflet && npm run build-docs-mapboxgl && npm run build-docs-openlayers && npm run build-docs-cesium",
913
"leaflet-debug": "webpack --config src/config/opensource/leaflet-debug-config.js",
1014
"leaflet-release": "webpack --config src/config/opensource/leaflet-release-config.js --progress",
1115
"openlayers-debug": "webpack --config src/config/opensource/openlayers-debug-config.js",
@@ -79,6 +83,7 @@
7983
"@mapbox/leaflet-omnivore": "^0.3.4",
8084
"@mapbox/mapbox-gl-style-spec": "^13.15.0",
8185
"@mapgis/mapbox-gl": "^1.9.0",
86+
"@turf/turf": "^6.3.0",
8287
"axios": "^0.18.0",
8388
"cesium": "^1.70.1",
8489
"d3": "^5.16.0",

src/cesiumjs/layer/M3DLayer.js

Lines changed: 69 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -73,26 +73,34 @@ export default class M3DLayer extends BaseLayer {
7373
/**
7474
* 添加m3d文档服务
7575
* @function module:客户端数据服务.M3DLayer.prototype.append
76-
* @param {String} url 服务地址
77-
* @param {Object} optionsParam 包含以下参数
78-
* @param {Boolean} [optionsParam.autoReset = true] 是否自动定位
79-
* @param {Boolean} [optionsParam.synchronous = true] 是否异步请求
80-
* @param {Function} [optionsParam.loaded = function] 回调函数
81-
* @param {DefaultProxy} [optionsParam.proxy = defaultProxy] 代理
82-
* @param {Boolean} [optionsParam.showBoundingVolume = false] 是否显示包围盒
83-
* @param {Number} [optionsParam.maximumScreenSpaceError = 16] 用于控制模型显示细节 值较大将会渲染更少的贴图,进而可以提高性能,而较低的值将提高视觉质量
76+
* @param {String} url 服务地址
77+
* @param {Object} optionsParam 包含以下参数
78+
* @param {Boolean} [optionsParam.autoReset = true] 是否自动定位
79+
* @param {Boolean} [optionsParam.synchronous = true] 是否异步请求
80+
* @param {Function} [optionsParam.loaded = function] 回调函数
81+
* @param {DefaultProxy} [optionsParam.proxy = defaultProxy] 代理
82+
* @param {Boolean} [optionsParam.showBoundingVolume = false] 是否显示包围盒
83+
* @param {Number} [optionsParam.maximumScreenSpaceError = 16] 用于控制模型显示细节 值较大将会渲染更少的贴图,进而可以提高性能,而较低的值将提高视觉质量
84+
* @param {String} [options.layers=undefined] 图层过滤功能
8485
* @see {@link https://cesium.com/docs/cesiumjs-ref-doc/Cesium3DTileset.html}
8586
* @returns {Array<MapGISM3DSet>} 返回m3d图层对象数组,长度为图层对象个数
8687
* @example
88+
*
8789
* function callBackfunction(layer){
88-
* console.log(layer)
90+
* console.log(layer)
8991
* }
92+
*
93+
* // layers 属性类似二维服务
94+
* // layers=show:0,1 表示只显示 layerIndex 为 0, 1 的图层
95+
* // layers=hide:0,1 表示只隐藏 layerIndex 为 0, 1 的图层
96+
*
9097
* let result = m3d.append('http://develop.smaryun.com:6163/igs/rest/g3d/ModelM3D, {
91-
* autoReset:false,
92-
* synchronous:true,
93-
* showBoundingVolume:false,
94-
* maximumScreenSpaceError:16,
95-
* loaded:callBackfunction
98+
* autoReset:false,
99+
* synchronous:true,
100+
* showBoundingVolume:false,
101+
* maximumScreenSpaceError:16,
102+
* layers:'layers=show:0',
103+
* loaded:callBackfunction
96104
* });
97105
*
98106
*/
@@ -107,6 +115,38 @@ export default class M3DLayer extends BaseLayer {
107115
let proxy;
108116
const docLayers = [];
109117

118+
const layersString = defaultValue(op.layers, '');
119+
120+
let layersVec = layersString.split('=');
121+
122+
let layerShow = true;
123+
let indexArray = [];
124+
125+
if (layersVec.length === 2) {
126+
var tmpString = layersVec[1];
127+
layersVec = tmpString.split(':');
128+
129+
if (layersVec.length === 2) {
130+
if (layersVec[0] === 'show') {
131+
layerShow = true;
132+
} else if (layersVec[0] === 'hide') {
133+
layerShow = false;
134+
} else {
135+
// eslint-disable-next-line no-console
136+
console.log('layers 参数输入错误:' + layersString);
137+
}
138+
139+
tmpString = layersVec[1];
140+
layersVec = tmpString.split(',');
141+
142+
if (layersVec.length > 0) {
143+
for (var index = 0; index < layersVec.length; index++) {
144+
indexArray.push(parseInt(layersVec[index]));
145+
}
146+
}
147+
}
148+
}
149+
110150
if (Cesium.defined(options)) {
111151
if (Cesium.defined(options.proxy)) {
112152
// 不放在defaultValue中 new 会影响性能
@@ -130,7 +170,16 @@ export default class M3DLayer extends BaseLayer {
130170
const type = parseInt(layer.layerType, 10);
131171
if (type === LayerType.M3DLAYER) {
132172
const { layerRenderIndex, layerIndex, gdbpUrl, isVisible } = layer;
133-
const m3d = this.appendM3DLayer(baseUrl, layerRenderIndex, layerIndex, gdbpUrl, isVisible, true, options);
173+
174+
let isShow = true;
175+
176+
if (layersString.length > 7 && indexArray.length > 0) {
177+
isShow = (indexArray.indexOf(layerIndex) !== -1) === layerShow;
178+
} else {
179+
isShow = isVisible;
180+
}
181+
182+
const m3d = this.appendM3DLayer(baseUrl, layerRenderIndex, layerIndex, gdbpUrl, isShow, true, options);
134183
docLayers.push(m3d);
135184
m3d.readyPromise.then(_callBack);
136185
}
@@ -268,7 +317,11 @@ export default class M3DLayer extends BaseLayer {
268317
let hpr = new Cesium.Matrix3();
269318
const hprObj = new Cesium.HeadingPitchRoll(Cesium.Math.PI, Cesium.Math.PI, Cesium.Math.PI);
270319
hpr = Cesium.Matrix3.fromHeadingPitchRoll(hprObj, hpr);
271-
const modelMatrix = Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(longtitude, latitude, 0)), new Cesium.Cartesian3(), new Cesium.Matrix4());
320+
const modelMatrix = Cesium.Matrix4.multiplyByTranslation(
321+
Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(longtitude, latitude, 0)),
322+
new Cesium.Cartesian3(),
323+
new Cesium.Matrix4()
324+
);
272325
Cesium.Matrix4.multiplyByMatrix3(modelMatrix, hpr, modelMatrix);
273326
const { _root } = tileSet;
274327
_root.transform = modelMatrix;

src/cesiumjs/layer/TilesLayer.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ export default class TilesLayer extends BaseLayer {
7373
* @param {Number} [optionsParam.rowNum=1] 瓦片初始级的列数 默认为1
7474
* @param {Number} [optionsParam.maxLevel=19] 瓦片最大显示级数 默认为19
7575
* @param {String} [optionsParam.proxy] 转发代理
76+
* @param {Array} [options.gdbps] gdbps地址数组
77+
* @param {String} [options.layers] layers参数,用于过滤图层
78+
*
7679
* @returns {ImageryLayer} 瓦片对象
7780
* @example
7881
* 如果裁瓦片的时候是按照经纬度裁剪的瓦片则只设置最大级数即可
@@ -91,6 +94,12 @@ export default class TilesLayer extends BaseLayer {
9194
append2DDocTile(url, optionsParam) {
9295
// 中地新版正常二维瓦片
9396
const options = Cesium.defaultValue(optionsParam, {});
97+
98+
if (Cesium.defined(options.gdbps) && Cesium.defined(options.layers)) {
99+
// eslint-disable-next-line no-console
100+
console.log('不能同时定义 gdbps 和 layers');
101+
}
102+
94103
options.url = url;
95104
const mapGis2DDocTile = this.viewer.imageryLayers.addImageryProvider(new Cesium.MapGIS2DDocMapProvider(options));
96105
return mapGis2DDocTile;

src/config/opensource/mapbox_index.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
//var mapboxgl = window.mapboxgl = window.mapboxgl ||require('@mapgis/mapbox-gl.js'); //开发过程中调试源码可用,其他情况下直接用下面的源码编译
2-
//var mapboxgl = window.mapboxgl = window.mapboxgl || require('@mapgis/mapbox-gl.js');
3-
// var mapboxgl = window.mapboxgl = window.mapboxgl ||require('mapbox-gl');
4-
51
import { MapExtend } from '../../mapboxgl/MapExtend';
62

73
export { MapExtend };

src/mapboxgl/theme/ThemeLayer.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ class ThemeLayer {
183183
* @property {Object} layer - 图层。
184184
* @property {string} property - 被改变的属性。
185185
*/
186-
window.mapboxgl.Evented.prototype.fire('changelayer', {
186+
mapboxgl.Evented.prototype.fire('changelayer', {
187187
layer: this,
188188
property: 'opacity'
189189
});
@@ -249,7 +249,7 @@ class ThemeLayer {
249249
* @property {Array.<Zondy.Feature.Vector>} features - 未被成功删除的要素。
250250
* @property {boolean} succeed - 删除成功与否。
251251
*/
252-
window.mapboxgl.Evented.prototype.fire('featuresremoved', {
252+
mapboxgl.Evented.prototype.fire('featuresremoved', {
253253
features: featuresFailRemoved,
254254
succeed: succeed
255255
});
@@ -264,7 +264,7 @@ class ThemeLayer {
264264
this.renderer.clear();
265265
}
266266
this.features = [];
267-
window.mapboxgl.Evented.prototype.fire('featuresremoved', {
267+
mapboxgl.Evented.prototype.fire('featuresremoved', {
268268
features: [],
269269
succeed: true
270270
});

src/service/OpenGeospatialConsortium/WFS.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,12 @@ class WFS extends OGCService {
115115

116116
if (version === '1.1.0') {
117117
if (bbox) {
118-
object = { ...object, bbox: `${bbox},${srsname}` };
118+
object = Object.assign(object, { bbox: `${bbox},${srsname}` });
119119
} else {
120-
object = { ...object };
120+
object = object;
121121
}
122122
} else if (version === '2.0.0') {
123-
object = { ...object, Envelope: `${bbox},${srsname}` };
123+
object = Object.assign(object, { Envelope: `${bbox},${srsname}`});
124124
}
125125

126126
if (index === length) {

0 commit comments

Comments
 (0)