egovamap 0.18.0 → 0.18.1

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.
@@ -1,197 +1,197 @@
1
- var XEvent = function () {
2
- this.handlers = {};
3
- }
4
- XEvent.prototype = {
5
- on: function (type, handler) {
6
- if (typeof this.handlers[type] == "undefined") {
7
- this.handlers[type] = [];
8
- }
9
- this.handlers[type].push(handler);
10
- return handler;
11
- },
12
- fire: function (type, msgData) {
13
- if (this.handlers[type]instanceof Array) {
14
- var handlers = this.handlers[type];
15
- if(handlers&&handlers.length==1){
16
- return handlers[0](msgData);
17
- }else{
18
- for ( var i = 0, len = handlers.length; i < len; i++) {
19
- handlers[i](msgData);
20
- }
21
- }
22
- }
23
- },
24
- //除所有该事件下对应的方法
25
- remove: function (type) {
26
- if (this.handlers[type]instanceof Array) {
27
- this.handlers[type] = [];
28
- }
29
- },
30
- removeHandler: function (type, handler) {
31
- if (this.handlers[type]instanceof Array) {
32
- var handlers = this.handlers[type];
33
- for (var i = 0, len = handlers.length; i < len; i++) {
34
- if (handlers[i] === handler) {
35
- handlers.splice(i, 1);
36
- break;
37
- }
38
- }
39
-
40
- }
41
- },
42
- clear: function () {
43
- this.handlers = {};
44
- }
45
- };
46
-
47
- var XScene = function (pageType, pageId) {
48
- this.pageType = pageType;
49
- this.pageId = pageId;
50
- this._evt = new XEvent();
51
- this._handler = [];
52
- this.hostWin = window;
53
- };
54
-
55
- XScene.prototype = {
56
- getParameter: function () {
57
- if (this.pageType == "modal") {
58
- return window.dialogArguments.parameter;
59
- }
60
- return null;
61
- },
62
-
63
- getCallback: function () {
64
- if (this.pageType == "modal") {
65
- return window.dialogArguments.callback;
66
- }
67
- return null;
68
- },
69
-
70
- getParentScene: function (pageId, stopOnTop) {
71
- stopOnTop = stopOnTop || false;
72
- var parent = null;
73
- if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
74
- if (window != window.parent) {
75
- parent = window.parent;
76
- }
77
- }
78
- if (!stopOnTop) {
79
- if (this.pageType == "modal") {
80
- parent = window.dialogArguments.hostWin;
81
- }
82
- if (this.pageType == "dialog") {
83
- parent = window.opener;
84
- }
85
- }
86
- if (!parent || !parent.__xsense)
87
- return null;
88
- if (parent.__xsense && parent.__xsense.pageId !== pageId) {
89
- return parent.__xsense.getParentScene(pageId, stopOnTop);
90
- }
91
- return parent.__xsense;
92
- },
93
-
94
- closeAllDialogs: function () {
95
- var parent = null;
96
- if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
97
- if (window != window.parent) {
98
- parent = window.top;
99
- }
100
- }
101
- if (this.pageType == "modal") {
102
- parent = window.dialogArguments.hostWin;
103
- window.close();
104
- }
105
- if (this.pageType == "dialog") {
106
- parent = window.opener;
107
- window.close();
108
- }
109
- if (!parent || !parent.__xsense)
110
- return null;
111
- if (parent.__xsense) {
112
- parent.__xsense.closeAllDialogs();
113
- }
114
- },
115
-
116
- fire: function (msgId, msgData, pageId, stopOnTop) {
117
- stopOnTop = stopOnTop || false;
118
- if (!pageId || pageId === this.pageId) {
119
- return this._evt.fire(msgId, msgData);
120
- } else {
121
- var parent = this.getParentScene(pageId, stopOnTop);
122
- if (parent) {
123
- return parent.fire(msgId, msgData, pageId, stopOnTop)
124
- }
125
- return null;
126
- }
127
- },
128
- remove: function (msgId, pageId, stopOnTop) {
129
- stopOnTop = stopOnTop || false;
130
- if (!pageId || pageId === this.pageId) {
131
- this._evt.remove(msgId);
132
- return null;
133
- } else {
134
- var parent = this.getParentScene(pageId, stopOnTop);
135
- if (parent) {
136
- parent.remove(msgId, pageId, stopOnTop);
137
- }
138
- return null;
139
- }
140
- },
141
- removeHandler: function (msgId, msgHandler, pageId, stopOnTop) {
142
- stopOnTop = stopOnTop || false;
143
- if (!pageId || pageId === this.pageId) {
144
- this._evt.removeHandler(msgId, msgHandler);
145
- return null;
146
- } else {
147
- var parent = this.getParentScene(pageId, stopOnTop);
148
- if (parent) {
149
- parent.removeHandler(msgId, msgHandler, pageId, stopOnTop);
150
- }
151
- return null;
152
- }
153
- },
154
- on: function (msgId, msgHandler, pageId, stopOnTop) {
155
- stopOnTop = stopOnTop || false;
156
- if (!pageId || pageId === this.pageId) {
157
- var h = this._evt.on(msgId, msgHandler);
158
- return null;
159
- } else {
160
- var parent = this.getParentScene(pageId, stopOnTop);
161
- if (parent) {
162
- var h = parent.on(msgId, msgHandler, pageId, stopOnTop);
163
- if (h) {
164
- this._handler.push(h);
165
- }
166
- }
167
- return null;
168
- }
169
- },
170
- detachAll: function () {
171
- for (var i = 0; i < this._handler.length; i++) {
172
- this._handler[i].detach();
173
- }
174
- }
175
- };
176
-
177
- XScene.create = function (pageType, pageId) {
178
- window.__xsense = new XScene(pageType, pageId);
179
- return window.__xsense;
180
- };
181
-
182
- //pageType: iframe, iframe-dialog, modal, dialog, desktop
183
- //iframe 普通的IFrame页面
184
- //iframe-dialog 对应于desktop上的一个Iframe对话框
185
- //modal 弹出的模态对话框
186
- //dialog 弹出的普通对话框
187
- var EGovaScene = {
188
-
189
- create: function (pageType, pageId) {
190
- return XScene.create(pageType, pageId);
191
- },
192
-
193
- getSense: function () {
194
- return window.__xsense;
195
- }
196
- };
1
+ var XEvent = function () {
2
+ this.handlers = {};
3
+ }
4
+ XEvent.prototype = {
5
+ on: function (type, handler) {
6
+ if (typeof this.handlers[type] == "undefined") {
7
+ this.handlers[type] = [];
8
+ }
9
+ this.handlers[type].push(handler);
10
+ return handler;
11
+ },
12
+ fire: function (type, msgData) {
13
+ if (this.handlers[type]instanceof Array) {
14
+ var handlers = this.handlers[type];
15
+ if(handlers&&handlers.length==1){
16
+ return handlers[0](msgData);
17
+ }else{
18
+ for ( var i = 0, len = handlers.length; i < len; i++) {
19
+ handlers[i](msgData);
20
+ }
21
+ }
22
+ }
23
+ },
24
+ //除所有该事件下对应的方法
25
+ remove: function (type) {
26
+ if (this.handlers[type]instanceof Array) {
27
+ this.handlers[type] = [];
28
+ }
29
+ },
30
+ removeHandler: function (type, handler) {
31
+ if (this.handlers[type]instanceof Array) {
32
+ var handlers = this.handlers[type];
33
+ for (var i = 0, len = handlers.length; i < len; i++) {
34
+ if (handlers[i] === handler) {
35
+ handlers.splice(i, 1);
36
+ break;
37
+ }
38
+ }
39
+
40
+ }
41
+ },
42
+ clear: function () {
43
+ this.handlers = {};
44
+ }
45
+ };
46
+
47
+ var XScene = function (pageType, pageId) {
48
+ this.pageType = pageType;
49
+ this.pageId = pageId;
50
+ this._evt = new XEvent();
51
+ this._handler = [];
52
+ this.hostWin = window;
53
+ };
54
+
55
+ XScene.prototype = {
56
+ getParameter: function () {
57
+ if (this.pageType == "modal") {
58
+ return window.dialogArguments.parameter;
59
+ }
60
+ return null;
61
+ },
62
+
63
+ getCallback: function () {
64
+ if (this.pageType == "modal") {
65
+ return window.dialogArguments.callback;
66
+ }
67
+ return null;
68
+ },
69
+
70
+ getParentScene: function (pageId, stopOnTop) {
71
+ stopOnTop = stopOnTop || false;
72
+ var parent = null;
73
+ if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
74
+ if (window != window.parent) {
75
+ parent = window.parent;
76
+ }
77
+ }
78
+ if (!stopOnTop) {
79
+ if (this.pageType == "modal") {
80
+ parent = window.dialogArguments.hostWin;
81
+ }
82
+ if (this.pageType == "dialog") {
83
+ parent = window.opener;
84
+ }
85
+ }
86
+ if (!parent || !parent.__xsense)
87
+ return null;
88
+ if (parent.__xsense && parent.__xsense.pageId !== pageId) {
89
+ return parent.__xsense.getParentScene(pageId, stopOnTop);
90
+ }
91
+ return parent.__xsense;
92
+ },
93
+
94
+ closeAllDialogs: function () {
95
+ var parent = null;
96
+ if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
97
+ if (window != window.parent) {
98
+ parent = window.top;
99
+ }
100
+ }
101
+ if (this.pageType == "modal") {
102
+ parent = window.dialogArguments.hostWin;
103
+ window.close();
104
+ }
105
+ if (this.pageType == "dialog") {
106
+ parent = window.opener;
107
+ window.close();
108
+ }
109
+ if (!parent || !parent.__xsense)
110
+ return null;
111
+ if (parent.__xsense) {
112
+ parent.__xsense.closeAllDialogs();
113
+ }
114
+ },
115
+
116
+ fire: function (msgId, msgData, pageId, stopOnTop) {
117
+ stopOnTop = stopOnTop || false;
118
+ if (!pageId || pageId === this.pageId) {
119
+ return this._evt.fire(msgId, msgData);
120
+ } else {
121
+ var parent = this.getParentScene(pageId, stopOnTop);
122
+ if (parent) {
123
+ return parent.fire(msgId, msgData, pageId, stopOnTop)
124
+ }
125
+ return null;
126
+ }
127
+ },
128
+ remove: function (msgId, pageId, stopOnTop) {
129
+ stopOnTop = stopOnTop || false;
130
+ if (!pageId || pageId === this.pageId) {
131
+ this._evt.remove(msgId);
132
+ return null;
133
+ } else {
134
+ var parent = this.getParentScene(pageId, stopOnTop);
135
+ if (parent) {
136
+ parent.remove(msgId, pageId, stopOnTop);
137
+ }
138
+ return null;
139
+ }
140
+ },
141
+ removeHandler: function (msgId, msgHandler, pageId, stopOnTop) {
142
+ stopOnTop = stopOnTop || false;
143
+ if (!pageId || pageId === this.pageId) {
144
+ this._evt.removeHandler(msgId, msgHandler);
145
+ return null;
146
+ } else {
147
+ var parent = this.getParentScene(pageId, stopOnTop);
148
+ if (parent) {
149
+ parent.removeHandler(msgId, msgHandler, pageId, stopOnTop);
150
+ }
151
+ return null;
152
+ }
153
+ },
154
+ on: function (msgId, msgHandler, pageId, stopOnTop) {
155
+ stopOnTop = stopOnTop || false;
156
+ if (!pageId || pageId === this.pageId) {
157
+ var h = this._evt.on(msgId, msgHandler);
158
+ return null;
159
+ } else {
160
+ var parent = this.getParentScene(pageId, stopOnTop);
161
+ if (parent) {
162
+ var h = parent.on(msgId, msgHandler, pageId, stopOnTop);
163
+ if (h) {
164
+ this._handler.push(h);
165
+ }
166
+ }
167
+ return null;
168
+ }
169
+ },
170
+ detachAll: function () {
171
+ for (var i = 0; i < this._handler.length; i++) {
172
+ this._handler[i].detach();
173
+ }
174
+ }
175
+ };
176
+
177
+ XScene.create = function (pageType, pageId) {
178
+ window.__xsense = new XScene(pageType, pageId);
179
+ return window.__xsense;
180
+ };
181
+
182
+ //pageType: iframe, iframe-dialog, modal, dialog, desktop
183
+ //iframe 普通的IFrame页面
184
+ //iframe-dialog 对应于desktop上的一个Iframe对话框
185
+ //modal 弹出的模态对话框
186
+ //dialog 弹出的普通对话框
187
+ var EGovaScene = {
188
+
189
+ create: function (pageType, pageId) {
190
+ return XScene.create(pageType, pageId);
191
+ },
192
+
193
+ getSense: function () {
194
+ return window.__xsense;
195
+ }
196
+ };
197
197
  export default EGovaScene;
@@ -1,5 +1,5 @@
1
- var CoordConvConfig={
2
- coordConvert4Params:'-47363.969#-4112623.75#0.0039286694040273984#1.0000046699602922#0#116.0',
3
- coordConvert4ParamsReverse:'31175.966131687164#4112791.5852928162#-0.003850255399136165#1.0000100832629242#0#116.0'
4
- }
5
- export default CoordConvConfig;
1
+ var CoordConvConfig={
2
+ coordConvert4Params:'-47363.969#-4112623.75#0.0039286694040273984#1.0000046699602922#0#116.0',
3
+ coordConvert4ParamsReverse:'31175.966131687164#4112791.5852928162#-0.003850255399136165#1.0000100832629242#0#116.0'
4
+ }
5
+ export default CoordConvConfig;
@@ -304,7 +304,53 @@ var egovaBI = function(globeMap, gisMap, mapType){
304
304
  */
305
305
  this.drawPoints = function (layerName, positions, options) {
306
306
  if(globeMap && mapType == "globe"){
307
- globeMap.drawPoints(layerName, positions, options);
307
+ if (!options.layerUsage || !options.layerUsage.usageID) {
308
+ globeMap.drawPoints(layerName, positions, options);
309
+ return;
310
+ }
311
+ let queryFeature = (queryParams) => {
312
+ return new Promise(function(resolve) {
313
+ let cb = function(result) {
314
+ resolve(result)
315
+ }
316
+ if(gisMap) {
317
+ gisMap.queryFeature(queryParams, cb);
318
+ }else{
319
+ return Promise.resolve(undefined)
320
+ }
321
+ })
322
+
323
+ }
324
+ let queryParams = {
325
+ layerID: options.layerUsage.usageID,
326
+ outGeometry: true,
327
+ }
328
+ queryFeature(queryParams)
329
+ .then(function(resultData) {
330
+ if(!resultData) {
331
+ console.log('没有查询到数据,请检查查询参数')
332
+ return
333
+ }
334
+ let dataCache=[];
335
+ let errorSize=0;
336
+ resultData.forEach(element => {
337
+ let x,y;
338
+ if(element.geometry){
339
+ x=element.geometry.x;
340
+ y=element.geometry.y;
341
+ }
342
+ if(x&&y){
343
+ let item={...element.attributes,x,y};
344
+ dataCache.push(item);
345
+ }else{
346
+ errorSize++;
347
+ }
348
+ });
349
+ if(errorSize>0){
350
+ console.error(`${errorSize}个点格式错误,无法正常加载`);
351
+ }
352
+ globeMap.drawPoints(layerName, dataCache, options);
353
+ })
308
354
  }
309
355
  if(gisMap && mapType == "map"){
310
356
  deal2DPoints(layerName, positions, options).then(args => {
@@ -638,7 +638,7 @@ var EGovaGISMap = function ($container, pScene, prefix, gisParams, mapConfig,con
638
638
  that.locateFeatureByIDs(layerID, layerKeyFieldName, cellID, bClearMap, gridCellStyle.style, gridCellStyle.hStyle, zoom);
639
639
  }
640
640
  /* 标识位置 */
641
- that.markMap = function(projectTypeID, eventTypeID, actPropertyID, displayStyleID, layerID, clickCallback, cellIndexName,point,symbolUrl) {
641
+ that.markMap = function(projectTypeID, eventTypeID, actPropertyID, displayStyleID, layerID, clickCallback, cellIndexName,point,symbolUrl,bdGridCodeOpt) {
642
642
  if (scene == null)
643
643
  return;
644
644
 
@@ -657,7 +657,7 @@ var EGovaGISMap = function ($container, pScene, prefix, gisParams, mapConfig,con
657
657
  });
658
658
  }
659
659
  scene.fire(msgPrefix + ":markMap", {
660
- args : [ projectTypeID, eventTypeID, actPropertyID, displayStyleID, layerID, cellIndexName,point, symbolUrl]
660
+ args : [ projectTypeID, eventTypeID, actPropertyID, displayStyleID, layerID, cellIndexName,point, symbolUrl, bdGridCodeOpt]
661
661
  }, parentScene, false);
662
662
  }
663
663
  /* 案件定位 */
@@ -1867,7 +1867,7 @@ var EGovaMap = function (containerID, callback, mapConfig, mapType, mapParam, co
1867
1867
  }
1868
1868
 
1869
1869
  /* 标识位置 */
1870
- that.markMap = function (projectTypeID, eventTypeID, actPropertyID, displayStyleID, layerID, clickCallback, cellIndexName, point, symbolUrl) {
1870
+ that.markMap = function (projectTypeID, eventTypeID, actPropertyID, displayStyleID, layerID, clickCallback, cellIndexName, point, symbolUrl, bdGridCodeOpt) {
1871
1871
  if (scene == null)
1872
1872
  return;
1873
1873
  if (gisMap != null && gisMap.gisVisible) {