在ArcGIS API 里已经定义了多种类型的地图层(这里避免用图层以免和SL的cavas混淆),它们都可以直接添加到地图控件里,这些地图层的地图资源可以是来自上一篇罗列的ESRI公司的免费地图,也可以是自己用arcgis server 发布的服务,还可以是Bing的地图,或者可以通过扩展加载GoogleMap的资源。
ArcGIS支持三种地图层类型
- ArcGISTiledMapServiceLayer :瓷砖式地图层,是经过缓存的地图层,适用于发布后不需要更新的地图资源,可以提高速度。
- ArcGISDynamicMapServiceLayer :动态地图层,没有经过缓存,数据可以是矢量也可以是栅格。适用于需要经常更新的地图资源
- ArcGISImageServiceLayer : 这是用于动态的栅格地图层,数据是栅格类型的地图资源
在ArcGIS的Map控件里,属性Layers是地图层的集合,它可以包括多个地图层。对于有多个地图层时,Map控件会按照地图层的顺序,从下到上依次显示。地图层有两个很有用的属性:
- Opacity属性,取值0-1,可以设置地图层的透明度,在多个地图层叠加显示时,设置透明度很有用。
- Visible属性,取值True/False, 用来设置地图层的可见性。
ArcGIS的事件
Silverlight能够利用.net的一些核心库内容,包括事件。对地图控件进行操作,可能会触发一系列事件,例如:地图控件在初始化成功时会触发Initialized事件.
<esri:Map x:Name="mymap">
<esri:Map.Layers>
<esri:ArcGISTiledMapServiceLayer ID="StreetMapLayer"
Url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer" />
<esri:ArcGISDynamicMapServiceLayer ID="CaliforniaLayer"
Url="http://serverapps.esri.com/ArcGIS/rest/services/California/MapServer" Initialized="CaliforniaLayer_Initialized" Opacity="0.5"/>
</esri:Map.Layers>
</esri:Map>
在事件上面右键单击“Navigate to Event Handler", 就会进入code-behind页面:
private void CaliforniaLayer_Initialized(object sender, EventArgs e)
{
ESRI.ArcGIS.Client.Layer Layer = sender as ESRI.ArcGIS.Client.Layer;
this.mymap.ZoomTo(Layer.FullExtent);
}
原本这样显示的地图
通过事件处理,现在一开始就显示我们所关注的地区:
1.2 地图控件有一个很重要的事件:InitializationFailed,当地图层添加失败的时候会触发这个事件。通过该事件,可以获得地图控件加载失败的原因!
private void report_failure(object sender, EventArgs e)
{
ESRI.ArcGIS.Client.Layer layer = sender as ESRI.ArcGIS.Client.Layer;
MessageBox.Show(layer.InitializationFailure.Message);
}
- 大小: 381.3 KB
- 大小: 882.2 KB
分享到:
相关推荐
ArcGIS Silverlight是Esri为开发者提供的一个客户端API,允许在Silverlight应用程序中嵌入交互式地图。它提供了地图显示、图层管理、地理编码、空间查询、缓冲区分析等众多功能。Silverlight作为一个插件,能够在...
- **客户端接口**:可能包含了使用JavaScript API或Flex/Silverlight API与ArcGIS Server通信的代码,实现地图的显示、缩放、平移等操作。 - **地理处理任务**:如果源码涉及到地理处理,那么会有执行空间分析任务...
1. **ArcGIS Silverlight概述** ArcGIS Silverlight API允许开发者在Silverlight应用中嵌入地图服务,支持各种地图操作,如平移、缩放、图层控制等。同时,它还提供了对地理编码、查询、图层叠加等功能的支持,使得...
#### 二、ArcGIS Silverlight API 简介 - **定义**:ArcGIS Silverlight API 是一款基于 Silverlight 的 WebGIS 应用开发接口,它通过 REST 接口访问 ArcGIS Server 服务,并可以直接访问微软 Bing 地图服务。 ####...
总之,ArcGIS API for Silverlight结合了GIS的强大功能和Silverlight的交互性,使得开发富客户端GIS应用变得可能。通过熟悉其基础概念、API使用以及开发流程,开发者能够构建出满足各种需求的GIS应用程序。
2. 添加ArcGIS Silverlight API引用。 3. 创建地图控件并设置初始视图。 4. 添加地图服务图层。 5. 运行应用程序进行测试。 #### 三、应用开发入门 本节将详细介绍如何使用ArcGIS Silverlight API进行地图图层、...
- **Silverlight 3 Beta 版本**(2009年3月发布):增加了更多媒体编码格式的支持,如 H.264、AAC 和 MP4;增强了图形处理能力,支持 GPU 加速;引入了透视化 3D 技术,使 2D 对象可以在 3D 空间中显示;增加了更多...
1. ArcGIS Silverlight概述: ArcGIS Silverlight是Esri GIS技术在微软Silverlight平台上的延伸,允许开发者在浏览器中创建动态、交互式的地图应用。Silverlight是一种插件技术,能够提供类似桌面应用的用户体验,...
### ArcGIS API 二次开发培训知识点详解 #### 一、ArcGIS API 下载与安装 - **下载地址**: ArcGIS API 可以从官方网站下载,具体链接为:https://developers.arcgis.com/en/downloads/ - **安装流程**: - 对于 ...
### ArcGIS Silverlight API 相关知识点 #### 1. 基本概念 ##### 1.1 Silverlight **1.1.1 关于RIA (Rich Internet Applications)** RIA,即富互联网应用,是一种利用Web浏览器提供类似桌面应用程序体验的技术。...
标题与描述概述的知识点主要集中在ArcGIS Server Server Object Extensions(SOEs)的介绍与应用,特别是在.NET环境下的实现。以下是对这些知识点的详细解析: ### ArcGIS Server SOEs for .Net - ESRI UC #### 1....
在IT行业中,ArcGIS API for Silverlight是一种广泛用于构建地理信息系统(GIS)应用程序的开发工具。Silverlight是微软推出的一种富互联网应用(RIA)技术,它允许开发者创建具有丰富交互性和多媒体体验的Web应用...
Silverlight作为一个强大的富客户端技术,可以提供丰富的交互体验和高性能的图形渲染,与ArcGIS API结合,能够创建出功能强大且用户友好的Web GIS应用。 二、核心组件与功能 1. 地图控件:Map控件是ArcGIS API的...
《ArcGIS Server开发入门到精通》是学习GIS(地理信息系统)服务器端开发的重要参考资料,尤其在第二部分中,深入探讨了多个关键主题。本部分主要包括以下几个章节的核心知识点: 1. **第六章:ArcGIS Server控件...
在上述技术背景下,ArcGIS Server结合RIA开发模式,即通过Silverlight,为地理信息系统提供了强大的客户端支持。开发者可以使用Silverlight开发出具有动态交互界面的GIS应用,这些应用具有丰富的图形展示能力和流畅...
1. **理解服务概念**:服务是ArcGIS Server的核心,它是GIS资源的封装形式,可以被客户端应用程序调用。 2. **创作GIS资源**:在ArcGIS Desktop中创建地图、图层和其他GIS资源。 3. **获取ArcGIS Desktop帮助**:...
3. ArcGIS Server:用于构建GIS服务,可以发布地图、服务、数据到网络,供Web客户端调用。开发者可以使用SOAP或REST API与服务器交互,创建Web应用程序。 4. ArcGIS Desktop Add-ins:利用.NET Framework和Visual ...
1. 客户端支持:开源WebGIS的客户端库如Flex、SL(Silverlight)和JS(JavaScript),分别对应不同的开发环境和用户需求。Flex适合桌面应用,SL适用于.NET平台,JS则适用于跨平台的Web开发。 2. 多语言支持:开源...
### 1. REST API 概述 - **REST**(Representational State Transfer,表述性状态转移)是一种用于构建网络应用程序的架构风格,它使用HTTP协议来访问资源,使得客户端可以通过简单的HTTP请求(如GET、POST等)与...