zengh
2022-05-16 63ad2c3598400370dd7da5534659fd7e768a0a4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
define(["dojo/topic"],
    function(topic) {
        //
        var _instance = {
            CONFIG_LOADED: "configLoaded",
            CONFIG_LOADED_ERROR: "configLoadedError",
            START_LOAD_BASEMAP_LAYER: "startLoadBaseMapLayer",
 
            /**
             * 加载其他年份的图层事件
             */
            LOAD_OTHERTIMELAYER:"loadOtherTimeLayer",
            /**
             * 底图切换事件。      事件对象:{target:String 需要处理底图切换的MapWidget的Id,
             *                        grouplayer:String 需要切换到的GroupLayer的Id,
             *                           setlayer:String 需要切换到的SetLayer的Id,
             *                        sender:String 发起底图切换的对象Id}
             */
            SWITCH_BASEMAP: "switchBasemap",
            /**
             * 底图切换完成事件。      事件对象:{target:String 处理底图切换的MapWidget的Id,
             *                        grouplayer:String 切换到的GroupLayer的Id,
             *                             setlayer:String 切换到的SetLayer的Id,
             *                        sender:String 发起底图切换的对象Id}
             
            SWITCH_BASEMAP_COMPLETED: "switchBasemapCompleted",*/
 
            BASE_MAP_LAYER_LOADED: "baseMapLayerLoaded",
            BASE_MAP_LAYER_LOADED_ERROR: "baseMapLayerLoadedError",
            /**  增加一个置顶图层           事件对象:{layerId:String,priority:Int 越大值越在上层,值相同时视事件调用先后排序} 在addlayer前触发事件以确保最后添加的图层能够被正确排序**/
            ADD_TOP_MOST_LAYER: "addTopMostLayer",
            /**置顶图层**/
            TOP_MOST_LAYER: "topMostLayer",
            /**
             * Widget第一次加载
             */
            WIDGET_LOADED: "widgetLoaded",
            /**
             * Widget打开     事件对象:{name:String 模块的名称,instance: 模块对象}
             */
            WIDGET_OPENED: "widgetOpened",
            /**
             * Widget关闭     事件对象:{name:String 模块的名称,instance: 模块对象}
             */
            WIDGET_CLOSED: "widgetClosed",
 
            /**
             * 获取登陆的用户信息
             */
            GET_LOG_USER: "getLogUser",
 
            /**
             * 显示加载框
             */
            SHOW_LOAD: "showLoad",
 
            /**
             * 隐藏加载框
             */
            HIDE_LOAD: "hideLoad",
 
            /**
             * 切换专题图的可见性,更改是否可查询
             */
            SWITCH_THEMATIC_LAYER: "switchThematicLayer",
 
            /**
             * 向系统增加地图交互工具。事件对象:{tool:BaseTool需要添加的Tool,hockId:挂接的MapWidgetId}
             */
            APPEND_TOOL: "appendTool",
 
            /**
             * 地图范围改变
             */
            MAP_EXTENT_CHANGE: "map_extent_change",
 
            /**
             * 行政区域改变
             */
            MAP_DISTRICT_CHANGE: "map_district_change",
 
            /**
             * 改变行政区域
             */
            CHANGE_DISTRICT: "change_district",
 
            /**
             * 应用加载时,用来判断是否用户已登录
             */
            APPLICATION_LOAD: "applicationload",
 
            /**
             * 应用的窗体大小有变化,事件对象:{}
             */
            APPLICATION_RESIZE: "applicationResize",
 
            /**
             * 全屏事件,事件对象:{fullscreen:true(开启全屏)/false(关闭全屏)}
             */
            APPLICATION_FULLSCREEN: "applicationFullscreen",
            /**
             * 清空事件,事件对象:null
             */
            APPLICATION_CLEAR: "applicationClear",
            
            /**
             * 发送添加MapWidget的事件,只能作为附属地图添加到框架中。 事件对象:{mapwidget:widgets/MapWidget  需要添加的MapWidget,relate:boolean   是否和主地图进行关联,关联后其中任意一个地图的extent改变都会改变另外一个地图的extent}
             */
            APPEND_MAPWIDGET: "appendMapWidget",
 
            /**
             * 发送移除MapWidget事件。事件对象:id:String  需要移除的mapWidget的Id
             */
            REMOVE_MAPWIDGET: "removeMapWidget",
 
            /**
             * 启动/打开指定的Widget。事件对象:{id:widgetId}
             */
            RUN_WIDGET: "runWidget",
 
            /**
             * 关闭指定的Widget。事件对象:{id:widgetId}
             */
            CLOSE_WIDGET: "closeWidget",
 
 
            /**
             * 搜索事件。事件对象:{hockId:String,poiType:String,poiName:String,queryType:String,...}  参考QueryManager.QueryArguments的定义
             */
            RUN_QUERY: "runQuery",
            /**
             * 智能提示查询事件。事件对象:{hockId:String,args:{keyword:String,count:Int,start:Int}}
             */
            RUN_SMART_QUERY: "runSmartQuery",
            /**
             * 查询成功。事件对象:queryResult 由querymanager构造的查询结果对象
             */
            QUERY_SUCCESS: "querySuccess",
            /**
             * 查询出错。事件对象:queryResult 由querymanager构造的查询错误对象
             */
            QUERY_ERROR: "queryError",
 
            /**
             * 查询结果更新。事件对象:{hockId:String,result:Object,loading:Boolean}
             */
            UPDATE_QUERY_RESULT: "updateQueryResult",
            /**
             * 用户POI类别变更。事件对象:{poiType:String,poiName:String}
             */
            POI_CHANGED: "poiChanged",
            /**
             * 用户搜索关键字变更。事件对象:String
             */
            KEYWORD_CHANGED: "keywordChanged",
            /**
             * 搜索框被点击搜索按钮或选中提示项所派发的事件。事件对象:{hockId:String,type:String("search"|"suggest"),args:{keyword:String,poiId:String,poiName:String,pac:String}}
             */
            SEARCHBOX_QUERY: "searchboxQuery",
 
            /**
             * 改变searchbox状态的事件。事件对象:{hockId:String ,type:"update"|"cleear",data:{keyword:String}}
             */
            CHANGE_SEARCHBOX_STATE: "changeSearchboxState",
 
            /**
             * 绑定菜单。事件对象:{menuId:String,dom:Dom Object,layer:graphicLayer Object}
             */
            BIND_MENU: "bineMenu",
            /**
             * 菜单项点击事件。事件对象:{menuId:String,menuItemId:String,coordinate:Object,graphic:graphic Object}
             */
            MENU_ITEM_CLICKED: "menuItemClicked",
            /**
             * 用户登录
             */
            USER_LOGIN: "userlogin",
            /**
             * 用户注销
             */
            USER_LOGOUT: "userlogout",
            /**
             * 打开标记
             */
            SIGN_RUN: "signrun",
 
            /**
             * 关闭标记
             */
            SIGN_CLOSE: "signclose",
            
            /**
             * 
             */
            SG_CLOSE:"sgclose",
            /**
             * 打开纠错
             */
            ERRCORRECT_RUN: "errcorrectrun",
 
            /**
             * 关闭纠错
             */
            ERRCORRECT_CLOSE: "errcorrectclose",
            
            /**
             * 
             */
            ERR_CLOSE:"errclose",
 
            /**
             * InfoWindow事件。{hockId:String 处理该事件的widgetId,data:Object}
             */
            INFOWINDOW_EVENT: "infowindowEvent",
 
            /**
             * 被选中的poi要素变更事件。事件对象Graphic Object
             */
            SELECTED_POI_GRAPHIC_CHANGED: "selectedPoiGraphicChanged",
 
            /**
             * 查询模式改变事件。事件对象{mode:String "poi"|"route"|nearby, ... 其他附加数据} 
             */
            QUERY_MODE_CHANGED: "queryModeChanged",
            
            
            /**
             * 变更路径查询参数事件 ,由各部件派发,routeSearchWidget监听{type: "bus"|"car",start:Graphic,end:Graphic,switch:true,mid:Graphic,minIndex:Int}
             */
            CHANGE_ROUTE_ARGUMENT: "changeRouteArgument",
            /**
             * 路径查询参数已变更事件, 由routeSearchWidget派发,各部件监听 {type: "bus"|"car",start:String,end:String,mid:String,minIndex:Int}
             */
            ROUTE_ARGUMENT_CHANGED: "routeArgumentChanged",
            /**
             * 路线搜索搜索事件。事件对象:{hockId:String,type:"bus"|"car",start:Graphic,end:Graphic,...}  参考RouteManager.QueryArguments的定义
             */
            RUN_ROUTE_QUERY: "runRouteQuery",
            
            /**
             * 路线各途径地点搜索事件。事件对象:{hockId:String,type:"start"|"end"|"mid",poiSearchType:"poiId"|"search"|"clearState",poiId:String,keyword:String} 
             */
            ROUTE_STOP_QUERY: "routeStopQuery",
            
            /**
             * 所有Poi搜索相关事件。事件对象:{hockId:String,type:String "statistice"|"search"|"poiId"|"updateState"|"clearState" ,poiType:String,keyword:String} 
             */
            POI_SEARCH: "poiSearch",
            /**
             * 所有附近搜索搜索相关事件。事件对象:{hockId:String,type:String |"search"|"updateState"|"clearState" ,poiType:String,keyword:String} 
             */
            NEARBY_SEARCH: "nearbySearch",
            
            
            /**
             * 行政区加载完毕
             */
            DISTRICT_LOADED:"districtloaded",
            /**
             * 分屏
             */
            MULTIDATE:"multidate",
            /**派发系统事件*/
            dispatchAppEvent: function(eventName, data) {
                //
                try {
                    topic.publish(eventName, data);
                } catch (err) {
                    console.log(err);
                }
            },
            /**监听系统事件*/
            addAppEventListener: function(eventName, handler) {
                //
                topic.subscribe(eventName, handler);
            },
            removeAppEventListener: function(handler) {
 
            }
        };
        return _instance;
    });