ArcGIS server9.3实现根据坐标定位
2013-04-28 16:21
309 查看
(1)启动VS2008,新建一个“Asp.net网站”。
(2)在Default页面中拖入一个MapResourceManager控件和一个Map控件,并完成地图服务资源配置和绑定。
(3)在Default页面中添加两个个输入框和定位按钮以及响应代码等等,代码如下:
最后的Default布局如下:
![](http://img.blog.csdn.net/20130428160401799)
(4)编写客户端向服务器传递消息,促使服务发生异步调用的Javascript函数,代码如下:
(5)在Default页面的Page_Load事件中注册异步刷新信息,并编写当用户单击“定位”按钮时的客户端异步处理函数RaiseCallbackEvent。
(6)服务器经过RaiseCallbackEvent函数处理客户端传回的消息后,通过GetCallbackResult函数返回客户端实现刷新。
以上步骤的C#代码如下:
(2)在Default页面中拖入一个MapResourceManager控件和一个Map控件,并完成地图服务资源配置和绑定。
(3)在Default页面中添加两个个输入框和定位按钮以及响应代码等等,代码如下:
<table> <tr><td>X坐标</td><td><input id = "TxtX" type ="text" /></td> <td>Y坐标</td><td><input id = "TxtY" type ="text" /></td> <td><input id ="OkBut" type="button" value="定位" onclick="GetCoord()"/></td> </tr> </table>
最后的Default布局如下:
(4)编写客户端向服务器传递消息,促使服务发生异步调用的Javascript函数,代码如下:
<script language ="javascript" type ="text/javascript" > function GetCoord() { var x = document.getElementById("TxtX").value; if(x=='') { alert('请输入X坐标!'); return; } if(isNaN(x)) { alert('请输入数字!'); document.getElementById("TxtX").focus(); return; } var y = document.getElementById("TxtY").value; if(y=='') { alert('请输入Y坐标!'); return; } if(isNaN(y)) { alert('请输入数字!'); document.getElementById("TxtY").focus(); return; } var message = 'X='+x+"&Y="+y; //传递消息 var context = 'Map1'; <%=m_ADFCallbackFunctionString%> //调用异步处理 } </script>
(5)在Default页面的Page_Load事件中注册异步刷新信息,并编写当用户单击“定位”按钮时的客户端异步处理函数RaiseCallbackEvent。
(6)服务器经过RaiseCallbackEvent函数处理客户端传回的消息后,通过GetCallbackResult函数返回客户端实现刷新。
以上步骤的C#代码如下:
public partial class _Default : System.Web.UI.Page,ICallbackEventHandler { public string m_ADFCallbackFunctionString; protected void Page_Load(object sender, EventArgs e) { m_ADFCallbackFunctionString = Page.ClientScript.GetCallbackEventReference(this, "message", "processCallbackResult", "context", "postBackError", true); } #region //处理回调函数 public void RaiseCallbackEvent(string eventArgs) { System.Collections.Specialized.NameValueCollection nameValueCollection = ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackUtility.ParseStringIntoNameValueCollection(eventArgs); double x = Convert.ToDouble(nameValueCollection["X"]); double y = Convert.ToDouble(nameValueCollection["Y"]); ESRI.ArcGIS.ADF.Web.Geometry.Point adfCenterPoint = new ESRI.ArcGIS.ADF.Web.Geometry.Point(x, y); Map1.CenterAt(adfCenterPoint); Map1.Zoom(20); m_ADFCallbackFunctionString = Map1.CallbackResults.ToString(); } public string GetCallbackResult() { return m_ADFCallbackFunctionString; } #endregion }
相关文章推荐
- 百度地图SDK集成及根据坐标实现定位(android studio开发)
- Android View分区域点击实现方案——1.根据坐标范围
- 根据仿射变换参数实现从地理坐标转换为图像坐标的一个思考
- 自定义dialog窗口,根据坐标可随意设置dialog显示位置,实现了窗口弹出动画
- js实现PC端根据IP定位当前城市地理位置
- JavaScript与Div对层定位和移动获得坐标的实现代码
- 根据经纬度绘制坐标点相对位置(分别用php和html5实现)
- 根据仿射变换参数实现从地理坐标转换为图像坐标的一个思考
- 百度地图根据坐标自定义覆盖物,并实现其点击事件
- ArcGIS API For Javascript之地图基本加载与显示,地图切换、缩放、定位、比例尺、鹰眼图、坐标显示、查询搜索功能实现
- 安卓实现的根据坐标显示位置功能
- Android根据baidu Android定位SDK实现定位
- 百度地图实现固定坐标点定位
- JavaScript与Div对层定位和移动获得坐标的实现代码
- Android开发--根据字母快速定位的侧边栏实现
- 百度map android sdk3.5实现定位 并跳转的指定坐标,添加标记
- C1FlexGridClassic中根据x坐标和y坐标定位行列
- jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
- 百度地图实现固定坐标定位
- 根据凸多边形顶点坐标来计算面积算法与实现