egovamap 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,575 @@
1
+ var egovaBI = function(globeMap, gisMap, mapType){
2
+
3
+ function defaultValue(a, b) {
4
+ if (a !== undefined && a !== null) {
5
+ return a;
6
+ }
7
+ return b;
8
+ }
9
+
10
+ function interpolateColor(start, end, count) {
11
+ if (count < 2) return [start, end];
12
+ var r = end[0] - start[0];
13
+ var g = end[1] - start[1];
14
+ var b = end[2] - start[2];
15
+ var opacity = end[3] - start[3];
16
+ var step = 1.0 / count;
17
+ var colors = [start];
18
+ var _count = count - 1;
19
+ for (var i = 1; i < _count; i++) {
20
+ var interval = step * i;
21
+ colors.push([
22
+ Math.round(start[0] + interval * r),
23
+ Math.round(start[1] + interval * g),
24
+ Math.round(start[2] + interval * b),
25
+ Math.round(start[3] + interval * opacity),
26
+ ])
27
+ }
28
+ colors.push(end);
29
+ return colors;
30
+ }
31
+
32
+ // 查询idb是否存在表
33
+ function checkObjectStore (storeName) {
34
+ return new Promise((resolve, reject) => {
35
+ // 打开网格数据库
36
+ let idbRequest = window.indexedDB.open('regionDB');
37
+ idbRequest.onblocked = function(event) {
38
+ // 如果其他的一些页签加载了该数据库,在我们继续之前需要关闭它们
39
+ // alert("请关闭其他由该站点打开的页签!");
40
+ console.log("请关闭其他由该站点打开的页签!")
41
+ };
42
+ idbRequest.onerror = (event) => {
43
+ console.log('数据库打开报错(checkObjectStore)');
44
+ // resolve(undefined)
45
+ reject(event.target.error.message)
46
+ };
47
+
48
+ idbRequest.onsuccess = () => {
49
+ let db = idbRequest.result;
50
+ // console.log('数据库打开成功(hasObjectStore)')
51
+ resolve(db.objectStoreNames.contains(storeName))
52
+ db.close()
53
+ };
54
+ })
55
+ }
56
+
57
+ function deal2DPoints(layerName, positions, options){
58
+ var datalist = [];
59
+ var zoom = options.common.zoom;
60
+ var clear = options.common.clear;
61
+ var highLightType = -1;
62
+ var infoStyle = null;
63
+ var renderCanvas = null;
64
+ var tagName = layerName;
65
+ var clusterOption = null;
66
+ if(options.clusterStyle.clusterEnabled){
67
+ clusterOption = {
68
+ clusterType:0,
69
+ distance:options.clusterStyle.clusterDistance,
70
+ style: options.clusterStyle.symbolUrl ? {
71
+ type: "picture-marker",
72
+ url: options.clusterStyle.symbolUrl,
73
+ width: options.clusterStyle.clusterSymbolWidth + "px",
74
+ height: options.clusterStyle.clusterSymbolHeight + "px"
75
+ } : {
76
+ "type": "simple-marker",
77
+ "style": "circle",
78
+ "color": [255, 168, 0, 200],
79
+ "size": 25,
80
+ "outline": { //if outline has been specified
81
+ "color": [255, 168, 0, 200],
82
+ "width": 2
83
+ }
84
+ },
85
+ labelStyle:{
86
+ type:"text",
87
+ color: options.clusterStyle.fillColor,
88
+ text:"",
89
+ xoffset:options.clusterStyle.textStartX + "px",
90
+ yoffset:options.clusterStyle.textStartY + "px",
91
+ font:{
92
+ size: options.clusterStyle.fontSize + "px",
93
+ weight: options.clusterStyle.fontWeight || "normal",
94
+ family: options.clusterStyle.family || "microsoft-yahei"
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ var hasHover = null;
101
+ var callback = null;
102
+ datalist = positions.map(function(p){
103
+ p.minZoom = options.common.beginLevel;
104
+ p.maxZoom = options.common.endLevel;
105
+ p.symbolType = -1;
106
+ p.symbolUrl = options.textStyle.symbolUrl || "location.png";
107
+ p.scale = options.textStyle.scale;
108
+ p.angle = options.textStyle.angle;
109
+ //textValue
110
+ if(options.textStyle.enableText){
111
+ p.labelStyle = {
112
+ type:"text",
113
+ xoffset:options.textStyle.xoffset + "px",
114
+ yoffset:options.textStyle.yoffset + "px",
115
+ text:p.textValue,
116
+ color:options.textStyle.fillColor,
117
+ font:{
118
+ size: options.textStyle.fontSize + "px",
119
+ weight: options.textStyle.fontWeight,
120
+ family: options.textStyle.family || "microsoft-yahei"
121
+ }
122
+ }
123
+ }
124
+ p.useLabelBg = options.textStyle.textBackground;
125
+ if(p.useLabelBg){
126
+ p.labelBgStyle = {
127
+ type: 'picture-marker',
128
+ url: options.textStyle.textBackgroundUrl
129
+ }
130
+ }
131
+ return p;
132
+ })
133
+ return {
134
+ datalist:datalist,
135
+ zoom:zoom,
136
+ clear:clear,
137
+ highLightType:highLightType,
138
+ infoStyle:infoStyle,
139
+ renderCanvas:renderCanvas,
140
+ tagName:tagName,
141
+ clusterOption:clusterOption,
142
+ hasHover:hasHover,
143
+ callback:callback
144
+ }
145
+ }
146
+
147
+ /*
148
+ * @description:新参数格式的旧热力接口,主要用来做中间层参数格式转换
149
+ * @method showHeatImage3D_BI
150
+ * @param {String} layerName 热力参数数组
151
+ * @param {Array} data 热力值和坐标的数据数组
152
+ * @param {Object} options 配置项
153
+ * @param {Object} options.heatOpt 热力配置项
154
+ * @param {Object} options.commonOpt 通用配置项
155
+ *
156
+ * @return {Void}} 无返回
157
+ *
158
+ * @author: Hetianhong
159
+ * @date: 2021-08-31 14:13:42
160
+ */
161
+ this.showHeatImage3D_BI = function (layerName, data, option) {
162
+ //data必须包含x y 和 value属性
163
+ if(
164
+ data.length === 0 ||
165
+ !data[0].hasOwnProperty('x') ||
166
+ !data[0].hasOwnProperty('y') ||
167
+ !data[0].hasOwnProperty('value')
168
+ ) {
169
+ return
170
+ }
171
+ if (globeMap != null) {
172
+ //hth 此处进行参数转换
173
+ let commonOpt = option.commonOpt; // 通用配置项
174
+ let heatOpt = option.heatOpt; // 热力配置项
175
+
176
+ let info = {};
177
+ let zoom = defaultValue(commonOpt.zoom, false);
178
+ let clear = defaultValue(commonOpt.clear, true);
179
+ let options = {
180
+ heading: defaultValue(commonOpt.heading, 0),
181
+ pitch: defaultValue(commonOpt.pitch, -45),
182
+ range: defaultValue(commonOpt.range, 8000),
183
+ maxDataLength : defaultValue(commonOpt.maxDataLength, 5),
184
+ layerName: layerName
185
+ }
186
+
187
+ // 开始组装info
188
+ //组装info.data,其实也没啥组装的
189
+ info.data = data
190
+
191
+ //组装info.options
192
+ info.options = {
193
+ clampStyle: (heatOpt.heatType === 0) ? 0 : 3, // 如果设置了为0,则为0,其余则全部为旧逻辑的3绘制方式,即贴地贴建筑
194
+ renderType: defaultValue(heatOpt.renderType, "line"),
195
+ dynamicGranularity: defaultValue(heatOpt.dynamicGranularity, false),
196
+ granularity: defaultValue(heatOpt.granularity, 500),
197
+ maxHeight: defaultValue(heatOpt.maxHeight, -1),
198
+ height: defaultValue(heatOpt.height, 10),
199
+ radiusScale: defaultValue(heatOpt.radiusScale, 1.0),
200
+ radius: defaultValue(heatOpt.radius, 40),
201
+ gradient: defaultValue(heatOpt.gradient, {
202
+ 0.35: "rgb(136,218,104)",
203
+ 0.7: "rgb(241,238,124)",
204
+ 1.0: "rgb(243,118,116)"
205
+ }),
206
+
207
+ // 下面的部分不建议传,逐步舍弃
208
+ gridSize: defaultValue(heatOpt.gridSize, null),
209
+ blur: defaultValue(heatOpt.blur, 0.85),
210
+ }
211
+
212
+ // 转换过后,使用旧的参数格式调用原热力接口
213
+ globeMap.showHeatImage3D(info, zoom, clear, options);
214
+ }
215
+ }
216
+
217
+ /*
218
+ * @description:打点和聚类接口进行整合后的新接口
219
+ * @method drawPoint
220
+ * @param {String} layerName 图层名
221
+ * @param {Array} positions 位置数组
222
+ * @param {Object} options 配置项
223
+ *
224
+ * @return {Void} 无返回
225
+ *
226
+ * @author: Hetianhong
227
+ * @date: 2021-09-09 14:49:49
228
+ */
229
+ this.drawPoints = function (layerName, positions, options) {
230
+ if(globeMap && mapType == "globe"){
231
+ globeMap.drawPoints(layerName, positions, options);
232
+ }
233
+ if(gisMap && mapType == "map"){
234
+ var args = deal2DPoints(layerName, positions, options);
235
+ gisMap.showMultiObjectCurrentPosition(args.datalist, args.zoom, args.clear, args.highLightType, args.infoStyle, args.renderCanvas, options.clickCallback, args.tagName, args.clusterOption, args.hasHover);
236
+ }
237
+ }
238
+ /*
239
+ * @description:新的轨迹线接口
240
+ * @method traceOperation
241
+ * @param {Array} posArr 位置数组
242
+ * @param {Object} options 配置项
243
+ *
244
+ * @return {Void} 无返回
245
+ *
246
+ * @author: Hetianhong
247
+ * @date: 2021-09-09 14:49:49
248
+ */
249
+ this.traceOperation = function (posArr, options) {
250
+ globeMap.traceOperation(posArr, options);
251
+ }
252
+ /*
253
+ * @description:网格接口
254
+ * 先查询idb的data,没有的话,再查询queryFeature的data
255
+ * @method regionOperation
256
+ * @param {Object} options 配置项
257
+ * @param {Array} data 数据,可不传
258
+ *
259
+ * @return {Void} 无返回
260
+ *
261
+ * @author: Hetianhong
262
+ * @date: 2021-10-19 17:27:02
263
+ */
264
+ this.regionOperation = function (options, data) {
265
+
266
+ function execOperation(data) {
267
+ if (globeMap) {
268
+ globeMap.regionOperation(options, data);
269
+ } else if (gisMap) {
270
+ gridPolygon2dOperation(options, data);
271
+ }
272
+ }
273
+
274
+ if(data) {
275
+ execOperation(data);
276
+ } else {
277
+ if(!options.idbSetting.usageID){return}
278
+
279
+ let storeName = !!globeMap ? "usageID" : "usage2D" + "_" + options.idbSetting.usageID;
280
+ let queryFromGIS = () => {
281
+ let filterString = options.idbSetting.filterString || "1=1";
282
+ let queryParam = {
283
+ layerID: options.idbSetting.usageID,
284
+ where: filterString,
285
+ geometry: '',
286
+ outGeometry: true,
287
+ options:{
288
+ originalData:true
289
+ }
290
+ }
291
+ let queryCallback = function (featureInfos) {
292
+ execOperation(featureInfos);
293
+ }
294
+ if(gisMap) {
295
+ gisMap.queryFeature(queryParam, queryCallback)
296
+ }
297
+ }
298
+
299
+ if(!options.idbSetting.enabled) {
300
+ // 直接查询
301
+ queryFromGIS()
302
+ } else {
303
+ // 查询是否存在表
304
+ checkObjectStore(storeName)
305
+ .then(function(hasObjStore) {
306
+ if(hasObjStore) {
307
+ // 如果有,读取本地
308
+ execOperation();
309
+ } else {
310
+ // 如果没有,查询queryFeature
311
+ queryFromGIS()
312
+ }
313
+ })
314
+ }
315
+ }
316
+ }
317
+ /*
318
+ * @description:新参数格式的旧线接口,主要用来做中间层参数格式转换
319
+ * @method showPolyline_BI
320
+ * @param {参数类型} 参数名 参数说明
321
+ *
322
+ * @return {返回值类型} 返回值说明
323
+ *
324
+ * @author: Hetianhong
325
+ * @date: 2021-11-11 15:40:31
326
+ */
327
+ this.showPolyline_BI = function (layerName, positions = [], options = {}) {
328
+ if (scene === null) {
329
+ return;
330
+ }
331
+ if (globeMap !== null) {
332
+ // 默认参数
333
+ let defaultOpt = {
334
+ // 样式类
335
+ styleOpt: {
336
+ period: 4, // 动画线段的周期,越短越快
337
+ image: 'road.png', // type为image时线段所使用的纹理图案,位置在data3d/polyline/目录下(type为image限定)
338
+ repeatX: 2, // 横向纹理重复,越大则越密(type为image限定)
339
+ repeatY: 1, //纵向纹理重复(type为image限定)
340
+ glowPower: 0, //中心亮度
341
+ intensity: 1.2, //纹理图片颜色强度
342
+ gapColor: 'rgba(0, 0, 0, 0)', //间隙颜色(type为dash限定)
343
+ dashLength: 15, //间隙宽(type为dash限定)
344
+ outlineWidth: 0, // 边框线宽(type为outline限定)
345
+ outlineColor: "rgba(0, 0, 0, 0)", // 边框颜色(type为outline限定)
346
+ type: 'color', // 线条类型,有 image color dash outline glow
347
+ width: 10,
348
+ color: "rgba(255,255,0,1)"
349
+ },
350
+ // 视角缩放类
351
+ zoomOpt: {
352
+ //zoom参数
353
+ heading: 0,
354
+ pitch: -90,
355
+ range: null,
356
+ //可视级别
357
+ minZoom: 0,
358
+ maxZoom: 24,
359
+ //泛光绘制
360
+ // 下面两项,不暴露,全部为false
361
+ bloom: false,
362
+ merge: false
363
+ },
364
+ // 交互类
365
+ interactOpt: {
366
+ //click相关
367
+ clickColor: "rgb(255, 255, 0.0)", // 点击后的颜色
368
+ clickWidth: 30, // 点击后的宽度
369
+ clickCallback: function(e) {console.log('click polyline', e)},
370
+ mouseOverCallBack: undefined
371
+ }
372
+ }
373
+ let getMergedOptions = (options) => {
374
+ let mergedOptions = {};
375
+ mergedOptions.styleOpt = Object.assign({}, defaultOpt.styleOpt, options.styleOpt);
376
+ mergedOptions.zoomOpt = Object.assign({}, defaultOpt.zoomOpt, options.zoomOpt);
377
+ mergedOptions.interactOpt = Object.assign({}, defaultOpt.interactOpt, options.interactOpt);
378
+ return mergedOptions
379
+ }
380
+ let mergedOptions = getMergedOptions(options);
381
+
382
+
383
+ let opt = {}
384
+ // let styleOpt = options.styleOpt;
385
+ // let zoomOpt = options.zoomOpt;
386
+ // let interactOpt = options.interactOpt;
387
+ //hth 此处进行参数转换
388
+ switch (mergedOptions.styleOpt.type) {
389
+ case "image":
390
+ opt.period = defaultValue(mergedOptions.styleOpt.period, 4); // 纹理流动周期,越小越快
391
+ opt.image = defaultValue(mergedOptions.styleOpt.image, 'road.png'); //纹理图片,data3d/polyline/目录下
392
+ opt.repeatX = defaultValue(mergedOptions.styleOpt.repeatX, 2); //横向纹理重复,越大越密
393
+ opt.repeatY = defaultValue(mergedOptions.styleOpt.repeatY, 1); //纵向纹理重复
394
+ opt.glowPower = defaultValue(mergedOptions.styleOpt.glowPower, 0); //中心亮度
395
+ opt.intensity = defaultValue(mergedOptions.styleOpt.intensity, 1.2); //纹理图片颜色强度
396
+ break;
397
+ case "glow":
398
+ opt.glowPower = defaultValue(mergedOptions.styleOpt.glowPower, 0.2); //中心亮度
399
+ break;
400
+ case "dash":
401
+ opt.gapColor = defaultValue(mergedOptions.styleOpt.gapColor, 'rgba(0, 0, 0, 0)'); //间隙颜色
402
+ opt.dashLength = defaultValue(mergedOptions.styleOpt.dashLength, 15); //间隙宽
403
+ break;
404
+ case "outline":
405
+ opt.outlineWidth = defaultValue(mergedOptions.styleOpt.outlineWidth, 0);
406
+ opt.outlineColor = defaultValue(mergedOptions.styleOpt.outlineColor, "rgba(0, 0, 0, 0)");
407
+ break;
408
+ default:
409
+ // color
410
+ };
411
+
412
+ opt.type = mergedOptions.styleOpt.type;
413
+ opt.width = mergedOptions.styleOpt.width;
414
+ opt.color = mergedOptions.styleOpt.color;
415
+
416
+ // 遍历位置数组中的每一项
417
+ for(let pos of positions) {
418
+ // 遍历opt中每一个key赋值到每一个pos中
419
+ for(let k in opt) {
420
+ pos[k] = opt[k]
421
+ }
422
+ }
423
+
424
+
425
+ let zoom = mergedOptions.zoomOpt.zoom
426
+ let clear = mergedOptions.zoomOpt.clear
427
+ let clickCallback = mergedOptions.interactOpt.clickCallback
428
+ let mouseOverCallBack = mergedOptions.interactOpt.mouseOverCallBack
429
+ let commonOpt = {
430
+ //zoom参数
431
+ heading: mergedOptions.zoomOpt.heading,
432
+ pitch: mergedOptions.zoomOpt.pitch,
433
+ range: mergedOptions.zoomOpt.range,
434
+ //可视级别
435
+ minZoom: mergedOptions.zoomOpt.minZoom,
436
+ maxZoom: mergedOptions.zoomOpt.maxZoom,
437
+ //click相关
438
+ clickColor: mergedOptions.interactOpt.clickColor, // 点击后的颜色
439
+ clickWidth: mergedOptions.interactOpt.clickWidth, // 点击后的宽度
440
+ //泛光绘制
441
+ // 下面两项,不暴露,全部为false
442
+ bloom: false,
443
+ merge: false
444
+ }
445
+
446
+
447
+ globeMap.showPolyline(positions, zoom, clear, commonOpt, layerName, clickCallback, mouseOverCallBack);
448
+ }
449
+ }
450
+ /*
451
+ * @description:被动触发图层类似点击效果,需要在图层内在单独定义Event
452
+ * @method activeLayer
453
+ * @param {String} layerName 图层名
454
+ * @param {Object} options 配置项
455
+ * @param {String} options.type 操作类型,'clear', 'active'
456
+ * @param {Boolean} options.zoom 是否缩放
457
+ * @param {Object} filter 过滤项
458
+ * @param {String} filter.keyFieldName 过滤键名
459
+ * @param {Array} filter.values 过滤值内容数组
460
+ *
461
+ * @return {返回值类型} 返回值说明
462
+ *
463
+ * @author: Hetianhong
464
+ * @date: 2021-11-26 09:49:16
465
+ */
466
+ this.activeLayer = function (layerName, options, filter) {
467
+ globeMap.activeLayer(layerName, options, filter);
468
+ }
469
+
470
+ function gridPolygon2dOperation(options, data) {
471
+ var storeName = `usage2D_${options.idbSetting.usageID}`;
472
+ function showGrid(realData) {
473
+ // 转换一下
474
+ var geometries = [];
475
+ var extraGeometries = [];
476
+ for (var i = 0; i < realData.length; i++) {
477
+ var feature = realData[i];
478
+ var geom = feature.geometry;
479
+ geom.attributes = feature.attributes; // attributes会导致id没用,使用自带的id
480
+ geometries.push(geom);
481
+ }
482
+ if (options.specialArea && options.selectedSetting.selected.length) {
483
+ var extraIds = options.selectedSetting.selected.map(s => s.selectID);
484
+ for (var i = geometries.length - 1; i > -1; i--) {
485
+ var geom = geometries[i];
486
+ if (extraIds.indexOf(geom.attributes[options.keyFieldName]) > -1) {
487
+ geometries.splice(i, 1);
488
+ extraGeometries.push(geom);
489
+ if (extraGeometries.length === extraIds.length) break;
490
+ }
491
+ }
492
+ }
493
+ gisMap.locateFeatureByCoords(geometries, 'polygon',
494
+ options.layerName, // id,如果已经有attributes就没用了
495
+ options.style, // style
496
+ options.highlightStyle, // highlightStyle
497
+ true, // zoom
498
+ options.keyFieldName,
499
+ options.labelSetting.showLabel && options.labelFieldName, // keyField, labelField
500
+ options.labelStyle, // labelStyle
501
+ options.customColor ? interpolateColor(options.customColor[0], options.customColor[1], Math.min(geometries.length, 10)) : 10, // randomColor
502
+ false, // renderCanvas
503
+ true, // singleSelect
504
+ {
505
+ minZoom: options.visiblitySetting.beginLevel,
506
+ maxZoom: options.visiblitySetting.endLevel,
507
+ // hLabelStyle: options.hLabelStyle, // 选中文字时效果,没用
508
+ },
509
+ options.layerName, // layerTag
510
+ options.eventSetting.clickCallback
511
+ );
512
+ if (extraGeometries.length) {
513
+ gisMap.locateFeatureByCoords(extraGeometries, 'polygon',
514
+ options.layerName, // id,如果已经有attributes就没用了
515
+ options.specialAreaStyle, // style
516
+ options.highlightStyle, // highlightStyle
517
+ false, // zoom
518
+ options.keyFieldName,
519
+ options.selectedSetting.showLabel && options.labelFieldName, // keyField, labelField
520
+ options.specialAreaLabelStyle, // labelStyle
521
+ false, // randomColor
522
+ false, // renderCanvas
523
+ true, // singleSelect
524
+ {
525
+ minZoom: options.visiblitySetting.beginLevel,
526
+ maxZoom: options.visiblitySetting.endLevel,
527
+ // hLabelStyle: options.hLabelStyle, // 选中文字时效果,没用
528
+ },
529
+ options.layerName, // layerTag
530
+ options.eventSetting.clickCallback
531
+ );
532
+ }
533
+ }
534
+
535
+ if (!data) {
536
+ // 数据来自本地
537
+ var dbOpenRequest = window.indexedDB.open('regionDB');
538
+ dbOpenRequest.onsuccess = function(event) {
539
+ var db = this.result;
540
+ var store = db.transaction(storeName).objectStore(storeName);
541
+ var request = store.getAll();
542
+ request.onsuccess = function() {
543
+ var features = this.result;
544
+ showGrid(features);
545
+ }
546
+ }
547
+ } else {
548
+ var _data = JSON.parse(JSON.stringify(data[0]));
549
+ showGrid(data[0]);
550
+ var dbRequest = window.indexedDB.open('regionDB');
551
+ dbRequest.onsuccess = function() {
552
+ addStore(this.result.version);
553
+ }
554
+ function addStore(version) {
555
+ var dbOpenRequest = window.indexedDB.open('regionDB', version + 1);
556
+ dbOpenRequest.onupgradeneeded = function(event) {
557
+ var db = event.target.result;
558
+ if (!db.objectStoreNames.contains(storeName)) {
559
+ var store = db.createObjectStore(storeName, { autoIncrement: true });
560
+ for (var i = 0; i < _data.length; i++) {
561
+ store.put(_data[i]);
562
+ }
563
+ store.transaction.oncomplete = function() {
564
+ console.log("complete");
565
+ }
566
+ }
567
+
568
+ }
569
+ }
570
+ }
571
+ }
572
+ }
573
+
574
+
575
+ export default egovaBI
@@ -699,8 +699,8 @@ var EGovaGISMap = function ($container, pScene, prefix, gisParams, mapConfig,con
699
699
  /**
700
700
  *等值面生成
701
701
  **/
702
- that.isobands = function(attrarry,xarry,yarry,breaks,breakcolors,cellwidth,boundary,hascelllabel,labelcolor){
703
- scene.fire(msgPrefix + ":isobands", { args: [attrarry,xarry,yarry,breaks,breakcolors,cellwidth,boundary,hascelllabel,labelcolor] },
702
+ that.isobands = function(attrarry,xarry,yarry,breaks,breakcolors,cellwidth,boundary,hascelllabel,labelcolor,callback){
703
+ scene.fire(msgPrefix + ":isobands", { args: [attrarry,xarry,yarry,breaks,breakcolors,cellwidth,boundary,hascelllabel,labelcolor,callback] },
704
704
  parentScene);
705
705
  }
706
706
 
@@ -1041,7 +1041,7 @@ var EGovaGISMap = function ($container, pScene, prefix, gisParams, mapConfig,con
1041
1041
  that.queryFeature = function(params, callback) {
1042
1042
  if (scene == null)
1043
1043
  return;
1044
- scene.fire(msgPrefix + ":queryFeature", {args: [params.layerID, params.where || null, params.geometry || null, params.outFields, params.outGeometry, params.pointTolorence||0,params.startIndex,params.maxFeatures,null,callback||null,params.sortBy, params.filterNullGeometry]}, parentScene);
1044
+ scene.fire(msgPrefix + ":queryFeature", {args: [params.layerID, params.where || null, params.geometry || null, params.outFields, params.outGeometry, params.pointTolorence||0,params.startIndex,params.maxFeatures,null,callback||null,params.sortBy, params.filterNullGeometry, params.options]}, parentScene);
1045
1045
  }
1046
1046
 
1047
1047
  /* 显示图层