您的位置:首页 > 其它

arcgis server for .NET学习转载8

2009-08-31 15:38 501 查看

/article/4777160.html

ArcGIS.Server.9.2.DotNet自带例子分析(四、一)

目的:
1.arcgis server9.2 ADF的DynamicData,动态的设置Resource。
准备工作:
1.用ArcGis Server Manager或者ArcCatalog发布一个叫world的Map Service,并且把这个Service启动起来。
2.用ArcGis Server Manager或者ArcCatalog发布一个叫usa的Map Service,并且把这个Service启动起来。
3.找到DeveloperKit\SamplesNET\Server\Web_Applications目录下的Common_AddDynamicDataCSharp.zip。

开始:
1.新建名为AddDynamicData的ASP.NET Web应用程序。
2.在页面上添加MapResourceManager1,不做任何设置;添加Map1,MapResourceManager属性为MapResourceManager1;添加Toc1,BuddyControl属性为Map1;添加一个CheckBoxList1,添加2个ListItem分别为ArcGIS Server Local和ArcGIS Server Internet。具体的代码如下:

3
6<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7
8<html xmlns="http://www.w3.org/1999/xhtml" >
9<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table width="623" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="391">
<esri:Toolbar ID="Toolbar1" runat="server" BuddyControlType="Map" Group="Toolbar1_Group"
Height="50px" ToolbarItemDefaultStyle-BackColor="White" ToolbarItemDefaultStyle-Font-Names="Arial"
ToolbarItemDefaultStyle-Font-Size="Smaller" ToolbarItemDisabledStyle-BackColor="White"
ToolbarItemDisabledStyle-Font-Names="Arial" ToolbarItemDisabledStyle-Font-Size="Smaller"
ToolbarItemDisabledStyle-ForeColor="Gray" ToolbarItemHoverStyle-BackColor="White"
ToolbarItemHoverStyle-Font-Bold="True" ToolbarItemHoverStyle-Font-Italic="True"
ToolbarItemHoverStyle-Font-Names="Arial" ToolbarItemHoverStyle-Font-Size="Smaller"
ToolbarItemSelectedStyle-BackColor="White" ToolbarItemSelectedStyle-Font-Bold="True"
ToolbarItemSelectedStyle-Font-Names="Arial" ToolbarItemSelectedStyle-Font-Size="Smaller"
WebResourceLocation="/aspnet_client/ESRI/WebADF/" Width="400px">
<ToolbarItems>
<esri:Tool ClientAction="DragRectangle" DefaultImage="esriZoomIn.gif" HoverImage="esriZoomInU.gif"
JavaScriptFile="" Name="MapZoomIn" SelectedImage="esriZoomInD.gif" ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls"
ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapZoomIn" Text="Zoom In"
ToolTip="Zoom In" />
<esri:Tool ClientAction="DragRectangle" DefaultImage="esriZoomOut.gif" HoverImage="esriZoomOutU.gif"
JavaScriptFile="" Name="MapZoomOut" SelectedImage="esriZoomOutD.gif" ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls"
ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapZoomOut" Text="Zoom Out"
ToolTip="Zoom Out" />
<esri:Tool ClientAction="DragImage" DefaultImage="esriPan.gif" HoverImage="esriPanU.gif"
JavaScriptFile="" Name="MapPan" SelectedImage="esriPanD.gif" ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls"
ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapPan" Text="Pan"
ToolTip="Pan" />
<esri:Command ClientAction="" DefaultImage="esriFullExt.gif" HoverImage="esriFullExtU.gif"
JavaScriptFile="" Name="MapFullExtent" SelectedImage="esriFullExtD.gif" ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls"
ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapFullExtent" Text="Full Extent"
ToolTip="Full Extent" />
</ToolbarItems>
<BuddyControls>
<esri:BuddyControl Name="Map1" />
</BuddyControls>
</esri:Toolbar>
</td>
<td width="110"> </td>
</tr>
<tr>
<td>
<esri:Map ID="Map1" runat="server" Height="429px" Width="505px" MapResourceManager="MapResourceManager1">
</esri:Map>
</td>
<td valign="top">
<esri:Toc ID="Toc1" runat="server" BuddyControl="Map1" />
<asp:CheckBoxList ID="CheckBoxList1" runat="server" Style="left: 481px; top: 267px">
<asp:ListItem>ArcGIS Server Local</asp:ListItem>
<asp:ListItem>ArcGIS Server Internet</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
</table>
<!--显示载入中的小图标 -->
<div id="BusyIndicator" style="z-index: 100; left: 17px; width: 14px; position: absolute; top: 389px; height: 15px; visibility: hidden"><img src="images/callbackActivityIndicator.gif" /></div>
</div>
<esri:MapResourceManager ID="MapResourceManager1" runat="server">
</esri:MapResourceManager>
</form>
</body>
</html>3.通过勾选页面上的CheckBox来选择不同的MapResource,这里提供了ArcGIS Server Local和ArcGIS Server Internet的选择,没有像样例还提供ArcIMS,因为本来人没有装ArcIMS。至于ArcGIS Server Local和ArcGIS Server Internet的两种方式在前面的几篇中都有用到了,这次通过代码的方式动态的进行设置。
4.接下来页面切换到代码视图,老样子仍旧需要实现ICallbackEventHandler。在Page_Load事件中添加如下代码:
1//客户端脚本段
2 private string m_ADFCallbackFunctionString;
3
4 public string ADFCallbackFunctionString
5
protected void Page_Load(object sender, EventArgs e)
5.在上面的代码中给CheckBox添加了ChangeCheckContext(this)脚本函数,所以需要在页面中添加这个函数,切换到html视图然后在最后添加如下的js代码:
1 </form>6.接下在服务端实现对ChangeCheckContext(this)脚本函数请求处理,主要的GetCallbackResult和RaiseCallbackEvent的两个方法,具体的代码和说明如下:
1//处理结果返回给客户端
2 public string GetCallbackResult()
3//处理客户端请求
7 public void RaiseCallbackEvent(string eventArgs)
8//更换Resource
36 void MapResourceChange(bool isChecked)
37
private ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackResult RefreshControlHtml(Control control)
7.这个例子相对比较简单具体实现看代码注释了。运行看效果。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: