Skip to content

Commit f8c65a9

Browse files
author
潘卓然Y7000P
committed
【SDK】【修复】【修复优化Echarts图层跟随事件&减少无效的渲染次数】
1 parent 0a65f2b commit f8c65a9

6 files changed

Lines changed: 20 additions & 14 deletions

File tree

src/cesiumjs/core/Base.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ CesiumZondy.Manager = CesiumZondy.Manager || {};
1717

1818
CesiumZondy.UI = CesiumZondy.UI || {};
1919

20+
CesiumZondy.Query = CesiumZondy.Query || {};
21+
2022
CesiumZondy.GeoSpark = CesiumZondy.GeoSpark || {};
2123
CesiumZondy.ElasticSearch = CesiumZondy.ElasticSearch || {};
2224
CesiumZondy.Overlayer = CesiumZondy.Overlayer || {};

src/cesiumjs/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ export * from './layer';
99
export * from './overlay';
1010
export * from './provider';
1111

12-
// export * from './render';
12+
export * from './render';

src/cesiumjs/layer/M3DLayer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export default class M3DLayer extends BaseLayer {
8282
* @param {Boolean} [optionsParam.showBoundingVolume = false] 是否显示包围盒
8383
* @param {Number} [optionsParam.maximumScreenSpaceError = 16] 用于控制模型显示细节 值较大将会渲染更少的贴图,进而可以提高性能,而较低的值将提高视觉质量
8484
* @see {@link https://cesium.com/docs/cesiumjs-ref-doc/Cesium3DTileset.html}
85-
* @returns [Array<MapGISM3DSet>] 返回m3d图层对象数组,长度为图层对象个数
85+
* @returns {Array<MapGISM3DSet>} 返回m3d图层对象数组,长度为图层对象个数
8686
* @example
8787
* function callBackfunction(layer){
8888
* console.log(layer)
@@ -225,7 +225,7 @@ export default class M3DLayer extends BaseLayer {
225225
* @function module:客户端数据服务.M3DLayer.prototype.setM3dLayerMovement
226226
* @param {MapGISM3DSet} layer m3d图层对象
227227
* @param {Cartesian3} direction 移动方向
228-
* @param {Number}} distance 移动距离
228+
* @param {Number} distance 移动距离
229229
* @example
230230
* let tilelayer = m3d.append('http://develop.smaryun.com:6163/igs/rest/g3d/ModelM3D',{});
231231
* let dir = new Cesium.Cartesian3(0.0, 1.0, 1.0); 分别表示xyz方向

src/cesiumjs/layer/TerrainLayer.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ export default class TerrainLayer extends BaseLayer {
5959
* @param {String} url 地形文档服务地址
6060
* @param {Object} optionsParam 包含以下参数
6161
* @param {Boolean} [optionsParam.synchronous = true] 是否异步请求
62-
* @param {Function} [optionsParam.loaded = function] 回调函数
6362
* @param {DefaultProxy} [optionsParam.proxy = defaultProxy] 代理
6463
* @returns 地形层对象
6564
* @example

src/cesiumjs/layer/ThirdPartyLayer.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default class ThirdPartyLayer extends BaseLayer {
1919
* 添加谷歌服务地址
2020
* @function module:客户端数据服务.ThirdPartyLayer.prototype.appendGoogleMap
2121
* @param {Object} optionsParam 预留扩展参数
22-
* @param {String} optionsParam.ptype 类型:矢量m@207000000 影像s@130 栅格t@130,r@207000000 道路h@207000000
22+
* @param {String} optionsParam.ptype 类型:矢量'm@207000000' 影像's@130' 栅格't@130,r@207000000' 道路'h@207000000'
2323
* @returns 瓦片层对象 可用于操作移除
2424
* @example
2525
* let tilelayer = thirdLayer.appendGoogleMap({ptype:'m@207000000'});
@@ -33,7 +33,7 @@ export default class ThirdPartyLayer extends BaseLayer {
3333
if (offset) {
3434
offsetLabel = '&gl=cn';
3535
}
36-
let _url = `http://mt{s}.google.cn/vt/{type}&hl=zh-CN${offsetLabel}&x={x}&y={y}&z={z}&s=Galileo`;
36+
let _url = `http://mt{s}.google.cn/vt/lyrs={type}&hl=zh-CN${offsetLabel}&x={x}&y={y}&z={z}&s=Galileo`;
3737
_url = _url.replace('{type}', options.ptype);
3838
const googleMap = this.viewer.imageryLayers.addImageryProvider(
3939
new Cesium.GoogleMapProvider({
@@ -48,11 +48,12 @@ export default class ThirdPartyLayer extends BaseLayer {
4848
* @function module:客户端数据服务.ThirdPartyLayer.prototype.appendGoogleMapExt
4949
* @param {Object} optionsParam 参数
5050
* @param {Object} optionsParam.ptype {ptype:'s'} 类型
51-
* s:卫星地图
52-
* h:skeleton map light
53-
* m:全地图
54-
* r:skeleton map dark
55-
* t:地形图
51+
* m:路线图
52+
* t:地形图
53+
* p:带标签的地形图
54+
* s:卫星图
55+
* y:带标签的卫星图
56+
* h:标签层(路名、地名等)
5657
* 也可以进行组合,例如:s,r 或者 t,h
5758
* @returns {ImageryLayer} 瓦片层对象 可用于操作移除
5859
* @example
@@ -67,7 +68,7 @@ export default class ThirdPartyLayer extends BaseLayer {
6768
* 添加高德地图服务
6869
* @function module:客户端数据服务.ThirdPartyLayer.prototype.appendGaodeMap
6970
* @param {Object} optionsParam 参数
70-
* @param {String} optionsParam.ptype 地图类型:'vec', 'raod', 'img'
71+
* @param {String} optionsParam.ptype 地图类型:'vec', 'road', 'img'
7172
* @param {Number} [optionsParam.maximumLevel = 16] 最大级别
7273
* @returns 瓦片层对象
7374
* @example
@@ -119,6 +120,7 @@ export default class ThirdPartyLayer extends BaseLayer {
119120
* @function module:客户端数据服务.ThirdPartyLayer.prototype.appendOpenWeatherMap
120121
* @param {Object} optionsParam 参数
121122
* @param {Type} optionsParam.ptype 类型有: Pressure,Temperature,Windspeed,Clouds,Label
123+
* @param {String} optionsParam.appid 授权码
122124
* @returns {ImageryLayer} 瓦片层对象
123125
* @example
124126
* let tilelayer = thirdLayer.appendOpenWeatherMap({ptype:'Label',appid:'b1b15e88fa797225412429c150c122a1'});

src/cesiumjs/overlay/EchartsLayer.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ export default class EchartsLayer {
131131

132132
this.initDevicePixelRatio();
133133

134+
this.visible = true;
134135
this.canvas = this._createCanvas();
135136
this.postRenderTime = 0;
136137
this.postRenderFrame = options.postRenderFrame || 30;
@@ -252,10 +253,12 @@ export default class EchartsLayer {
252253
}
253254

254255
_visible() {
256+
this.visible = true;
255257
this.canvas.style.visibility = "visible";
256258
}
257259

258260
_unvisible() {
261+
this.visible = false;
259262
this.canvas.style.visibility = "hidden";
260263
}
261264

@@ -277,7 +280,7 @@ export default class EchartsLayer {
277280
var viewportRoot = api.getZr().painter.getViewportRoot()
278281
var coordSys = mapModel.coordinateSystem
279282
var moveHandler = function (type, target) {
280-
if (rendering || !self.map) {
283+
if (rendering || !self.map || !self.visible) {
281284
return
282285
}
283286
self._unvisible();
@@ -298,7 +301,7 @@ export default class EchartsLayer {
298301
}
299302

300303
var moveEndHandler = function (type, target) {
301-
if (rendering || !self.map) {
304+
if (rendering || !self.map || !self.visible) {
302305
return
303306
}
304307
var offsetEl = self.map.canvas;

0 commit comments

Comments
 (0)