基于OpenLayer地块标识信息查询功能Javascript类定义
来源:互联网 发布:大酒神零食店 淘宝 编辑:程序博客网 时间:2024/05/03 04:20
基于OpenLayer地块标识信息查询功能Javascript类定义
//mapCwgisDkIdentifyTool.js
//定义 地块标识信息查询功能//mapCwgisDkIdentifyTool.js//vp: hsg, myk//create date:2013-08-02//注意:需要地图所在页面有弹出式DevExpress窗体控件且名称为:popCBFInformation//回调函数function showCBFInformationWindow(dkbm) { var isShowPage = false; var url = 'cbfInformation.aspx?dkbm=' + dkbm; if (popCBFInformation.GetVisible()) { var oldUrl = popCBFInformation.GetContentUrl(); if (url != oldUrl) { isShowPage = true; } } else { isShowPage = true; } if (isShowPage) { var left = document.documentElement.clientWidth - popCBFInformation.GetWidth(); popCBFInformation.SetContentUrl(url); popCBFInformation.ShowAtPos(left, 33); }}function closePopWindow_popCBFInformation() { popCBFInformation.Hide();}//鼠标点选结果响应事件 回调函数中要使用全局对象类function DkIdentify_handlerGetFeature(req) { var gml = new OpenLayers.Format.GML.v3({ xy: false }); //V3兼容v1.0.0 但如果默认或v1.1.0必须用v3且加xy:false //获取搜索到的要素集对象 var t_features = gml.read(req.responseText); // if (t_features != null && t_features.length > 0) { mapWrap.layer_Highlight.destroyFeatures(); mapWrap.layer_Highlight.addFeatures(t_features); mapWrap.layer_Highlight.redraw(); //mapWrap.zoomToFeatures(t_features); // var vZDBM = t_features[0].attributes.ZDBM; //显示弹出窗体 // alert(t_features); showCBFInformationWindow(vZDBM); } else { closePopWindow_popCBFInformation(); mapWrap.layer_Highlight.redraw(); }}//定义 地块标识信息查询功能mapCwgisDkIdentifyTool = OpenLayers.Class(mapCwgisPluginTool,{ initialize: function (p_mapCwgisClass,options) { this.init(p_mapCwgisClass); this.handlerClass = OpenLayers.Handler.Point; this.handlerOptions = this.handlerClass; mapCwgisPluginTool.prototype.initialize.apply(this, [p_mapCwgisClass, this.handlerClass, options]); }, //定义鼠标按上事件 (重写基类方法) (回调函数中要使用全局对象类) onMouseUp: function (e) { var defaultProjection = mapWrap.defaultProjection; var wms_url_getFeature = mapWrap.wms_url_getFeature; var layer_ZD = mapWrap.layer_ZD; //宗地层名 // mapWrap.currentMousePoint = { x: e.x, y: e.y }; var LL_point = mapWrap.map.getLonLatFromPixel(e.xy); var geo_point = new OpenLayers.Geometry.Point(LL_point.lon, LL_point.lat); // //INTERSECTS相交,则value使用geo;若使用BBOX矩形框,则value使用boundselement[0].geometry var filter_box = new OpenLayers.Filter.Spatial({ type: OpenLayers.Filter.Spatial.INTERSECTS, projection: defaultProjection, value: geo_point }); //此处可添加多条件联合查询方式 var filter = filter_box; // var xml = new OpenLayers.Format.XML(); var _filter = new OpenLayers.Format.Filter.v1_1_0(); //或new OpenLayers.Format.Filter() var request = OpenLayers.Request.GET({ url: wms_url_getFeature, params: { version: '1.1.0', typeName: layer_ZD, filter: xml.write(_filter.write(filter)) }, callback: DkIdentify_handlerGetFeature }); }, //--------------------------------------------- CLASS_NAME: "mapCwgisDkIdentifyTool"});//设置选择地块工具var dk_identify_tool = new mapCwgisDkIdentifyTool(mapWrap);dk_identify_tool.init(mapWrap);////向全局工具栏管理类注册if (cmToolBar != null) { cmToolBar.addItem(dk_identify_tool);}//===============================================//此功能弹出窗体中的地块列表中要调用的定位功能//===============================================var g_find_dk_state = false;function DkIdentify_dklocation_handlerGetFeature(req) { g_find_dk_state = false; var gml = new OpenLayers.Format.GML.v3({ xy: false }); //V3兼容v1.0.0 但如果默认或v1.1.0必须用v3且加xy:false var t_features = gml.read(req.responseText); if (t_features != null && t_features.length > 0) { mapWrap.layer_Highlight.destroyFeatures(); // mapWrap.layer_Highlight.addFeatures(t_features); mapWrap.layer_Highlight.redraw(); //缩放到要素(定位) mapWrap.zoomToFeatures(t_features); //获取属性值 var vZDBM = t_features[0].attributes.ZDBM; g_find_dk_state = true; } else { mapWrap.layer_Highlight.redraw(); }}//查询定位功能 通用查询函数function DkIdentify_doQueryLocation(layerName, fieldName, fieldValue) { var wms_url_getFeature = mapWrap.wms_url_getFeature; //设置查询条件 var filter_fd_val = new OpenLayers.Filter.Logical({ type: OpenLayers.Filter.Logical.AND, filters: [ new OpenLayers.Filter.Comparison({ type: OpenLayers.Filter.Comparison.EQUAL_TO, property: fieldName, value: fieldValue }) ] }); //执行查询条件 var xml = new OpenLayers.Format.XML(); var _filter = new OpenLayers.Format.Filter.v1_1_0(); var request = OpenLayers.Request.GET({ url: wms_url_getFeature, params: { version: '1.1.0', typeName: layerName, filter: xml.write(_filter.write(filter_fd_val)) }, callback: DkIdentify_dklocation_handlerGetFeature });};//====================================================//查询定位功能 宗地图层zdbm=dkbmfunction DkIdentify_doQueryLocation_zd_by_zdbm(dkbm) { var layerName = mapWrap.layer_ZD; //宗地层名 var fieldName = "ZDBM"; var fieldValue = dkbm; DkIdentify_doQueryLocation(layerName, fieldName, fieldValue);};//用于dk标识查询功能的定位 宗地图层中function goto_dk_zdlayer(dkbm) { DkIdentify_doQueryLocation_zd_by_zdbm(dkbm);};//====================================================//查询定位功能 宗地历史图层zdbm=dkbmfunction DkIdentify_doQueryLocation_zdls_by_zdbm(dkbm) { var layerName = mapWrap.layer_ZD_LS; //宗地层名 var fieldName = "ZDBM"; var fieldValue = dkbm; DkIdentify_doQueryLocation(layerName, fieldName, fieldValue);};//用于dk标识查询功能的定位 宗地/宗地历史图层中function goto_dk_twolayer(dkbm) { g_find_dk_state = false; DkIdentify_doQueryLocation_zd_by_zdbm(dkbm); //宗地图层中查找地块 if (g_find_dk_state == false) { DkIdentify_doQueryLocation_zdls_by_zdbm(dkbm); //宗地历史图层中查找地块 }};//====================================================
0 0
- 基于OpenLayer地块标识信息查询功能Javascript类定义
- 基于OpenLayer工具栏管理类的Javascript类定义
- 基于OpenLayer测量工具的Javascript类定义
- 基于OpenLayer的框选缩放工具类Javascript类定义
- 基于 OpenLayers地图加载功能Javascript类定义
- openlayer web 要素查询
- Openlayer的一些类
- OpenLayer
- OpenLayer
- openlayer实现图层控件功能
- 基于OpenLayers的地图封装Javascript类定义
- 基于Arcgis Server的地图封装Javascript类定义
- 基于OpenLayers的地图封装Javascript类定义
- 基于OpenLayer的前端Aspx标记用法
- C#基于豆瓣API查询图书信息
- 基于MFC的网卡信息查询
- Javascript定义类:Javascript定义类
- 基于SceneControl单击查询功能的实现
- Annotation(二)——Hibernate中注解的开发
- 详解 Android 中 Menu 的三种类型
- SD卡与fatfs文件系统(4)
- NetBeans部署项目(Extjs)报错(一)
- C#中的委托delegate
- 基于OpenLayer地块标识信息查询功能Javascript类定义
- 上次机试, 栽倒在求最值的问题上, 哎
- 精选30道Java笔试题解答
- 单引号需要敲两次才能输入
- JAVA之 网络编程!
- Uva 1350 - Pinary 解题报告(斐波那契+二分)
- js 中 date 对象的 年份调用要注意
- ToString()和Convert.ToString()字符串转换的区别
- SDK错误号的原理---线程私有数据(TSD)