ArcGIS.Server.9.2.DotNet实现动态设置Label标注功能

目的:1.arcgis server9.2 ADF实现动态设置Label标注功能,选择不同图层然后选择要作为Label显示的字段然后更新地图的Label。准备工作:1.用ArcGis Server Manager或者ArcCatalog发布一个叫usa的Map Service,并且把这个Service启动起来。完成后的效果图:开始:1.新建名为LabelFieldSamples的ASP.NET W
摘要由CSDN通过智能技术生成

目的:
1.arcgis server9.2 ADF实现动态设置Label标注功能,选择不同图层然后选择要作为Label显示的字段然后更新地图的Label。
准备工作:
1.用ArcGis Server Manager或者ArcCatalog发布一个叫usa的Map Service,并且把这个Service启动起来。
完成后的效果图:


开始:
1.新建名为LabelFieldSamples的ASP.NET Web应用程序,在页面上添加MapResourceManager1、Map1控件。
2.为MapResourceManager1控件添加MapResourceItem,由上到下分别为,(usa的Map Service)名称为:worldCities、DataSourceType:ArcGIS Server Local。
3.按着上图设置好Map1控件,在页面的右边添加2个<div id="layer"></div>和<div id="field"></div>用来显示图层选择列表和字段选择列表,加一个input 的按钮并且添加onclick事件用来实现按钮功能。具体html代码如下:

1 图层: < div  id ="layer" ></ div >
2 < br  />
3 字段: < div  id ="field" ></ div >
4 < br  />
5 < input  id ="Button1"  type ="button"  value ="显示Label"  onclick ="showLabel()"   />
4.界面工作完成后接下来首先完成图层列表选择和字段列表选择的功能,这里采用Ajax的无刷新方式,和以前所有的例子一样页面类实现ICallbackEventHandler的接口,具体代码如下:
 1 public   partial   class  _Default : System.Web.UI.Page, ICallbackEventHandler
 2      {
 3        //脚本段字符串
 4        public string m_Callback;
 5        protected void Page_Load(object sender, EventArgs e)
 6        {
 7            //生成脚本段字符串用来供客户端的js调用
 8            m_Callback = Page.ClientScript.GetCallbackEventReference(Page, "argument""processCallbackResult""context""processCallbackError"true);
 9        }

10
11        ICallbackEventHandler 成员
25
26        private string RaiseCallbackEvent(string _callbackArg)
27        {
28            string v = "";
29            //代码待写
30            return v;
31        }

32}
5.接下来页面切换到Html视图,要在页面载入的时候需要把图层列表取来进行显示所以在需要在body标签类添加onload函数:<body οnlοad="pageLoad()">,这样在页面载入的时候就会执行pageLoad()的方法,接下来在head标签内添加pageLoad()方法,代码如下:
1 < script type = " text/javascript "  language = " javascript " >
2      function  pageLoad()
3      {
4       var argument = "ControlID=Map1&ControlType=Map&Type=Layer";
5       var context = "Map";
6       var rv=<%= m_Callback %>;
7       eval(rv);
8    }

9 < / script>
6.这样当页面载入的时候会执行pageLoad()的方法想服务端请求获取图层列表,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值