这一节我们来讲新建立的ArcGIS API for Silverlight应用程序如何加载自己的地图服务的问题,网上的资料讲的都有点含糊不清,这次我们详细的讲一下配置的步骤:
首先介绍下我们的开发和部署环境:
部署环境:
Windows 7 旗舰版32位操作系统
IIS 6.0
开发环境:
Visual Studio 2010
Visual Studio 2010 SP1
Siverlight 4
Net Framework 4
第一步:搭建ArcGIS API for Silverlight开发环境。检验是否搭建成功的标志是建立一个自己的Silverlight应用程序,添加一个Map控件加载ArcGIS Online上的地图服务成功显示。此时显示的是ArcGIS Online上的地图资源,对于一个项目来说我们很多时候需要的是吧我们自己发布的地图服务放在我们的项目里,接下来看怎样连接到我们的本机地图服务;
第二步:将clientaccesspolicy.xml和crossdomain.xml两个跨域文件Copy到网站根目录下,具体是.NET下放在C:/inetpub/wwwroot或网站根目录下;
文件下载地址:
http://services.arcgisonline.com/clientaccesspolicy.xml
http://services.arcgisonline.com/crossdomain.xml
第三步:在要发布的那个图层那里加一个InitializationFailed事件。
添加方法:
1 <esri:Map Name="MyMap"> 2 <esri:Map.Layers> 3 <esri:LayerCollection> 4 <esri:ArcGISDynamicMapServiceLayer ID="ChinaMap" InitializationFailed="ArcGISDynamicMapServiceLayer_InitializationFailed" Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"> 5 </esri:ArcGISDynamicMapServiceLayer> 6 </esri:LayerCollection> 7 </esri:Map.Layers> 8 </esri:Map>
右击MainPage.xaml 查看代码,C#后台代码如下:
1 private void ArcGISDynamicMapServiceLayer_InitializationFailed(object sender, EventArgs e) 2 { 3 ESRI.ArcGIS.Client.Layer layer = sender as ESRI.ArcGIS.Client.Layer; 4 MessageBox.Show(layer.InitializationFailure.Message); 5 }
第四步:更改地图服务器地址Url 。
将上面的Url地址换成自己的地图服务地址,如:
Url="http://shaoyong-pc/ArcGIS/rest/services/ChinaMap/MapServer"
在Visual Studio 2010调试程序即可。
本文来自Samson Shao的博客,原文地址:http://www.cnblogs.com/shaozhuyong/articles/2772385.html