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; });