题记
ArcGIS之所以比较普及,特点之一就是它能紧跟计算机发展的趋势。推出适合各种平台的API比如JavaScript API,Java API,Flex API,Siverlight API,后二者是现在RIA的主流代表,开发工具、设计工具一应俱全,至于这些API如何取舍,其实并不重要,临渊思鱼,不如退而结网。
取这个题目,是因为当年我很喜欢lotus 1-2-3。
准备工具
假设你已经安装了Visual Studio 2010 (最新版本嘛,至少以后几年你翻我的文章还不会过期)的任何一个版本,建议安装Blend设计工具,它可以用来设计非常酷的Silverlight画面。
SL需要另外安装工程插件,Silverlight 4的Visual studio工程插件,可以在
这里下载。
最后我们需要ArcGIS SL 客户端API,你需要自己注册一个ESRI Global账户,登陆后,就可以在
这里下载。
Hello,World
安装好上面的SL4插件和ArcGIS Client,就可以创建一个Silverlight Application工程了,并添加ESRI.ArcGIS.Client(版本1.2)的引用。
ArcGIS客户端包括4个Dll:
ESRI.ArcGIS.Client.dll 是主要用到的核心类库,地图,图层,查询等相关类都在这里面.
ESRI.ArcGIS.Client.Bing.dll 是用来使用微软Bing的地图和服务。
ESRI.ArcGIS.Client.Toolkit.dll 工具类库,一些常用的工具如放大缩小就在里面。
ESRI.ArcGIS.Client.Behaviors.dll库,充分利用Silverlight 3的Behavior特性,封装一些常用的鼠标操作,降低开发难度和工作量。
一般学习程序都是从最简单的"Hello,World"开始,我们也不例外。打开工程里的MainPage.XAML:
<UserControl x:Class="GisDemo.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:esri="clr-namespace:ESRI.ArcGIS.Client;assembly=ESRI.ArcGIS.Client"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<esri:Map x:Name="mymap">
<esri:Map.Layers>
<esri:ArcGISTiledMapServiceLayer ID="layerworldmap"
Url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer" />
</esri:Map.Layers>
</esri:Map>
</Grid>
</UserControl>
这里添加了一个地图控件并给应该地图添加了一个瓷砖类型的图层(ArcGISTiledMapServiceLayer),访问的是ESRI公司所提供的免费地图资源,简单的的一些说明:
usercontrol标签是页面的根元素,下面的几句引入了xml的特定命名空间,里面包括了我们的ESRI.ArcGIS.Client.
Grid标签是布局控件,可以进行灵活的页面布局,xaml中常用的布局控件还有Canvas和StackPanel;
之后是我们的主角-- Map标签(继承自xaml的Control)它相当于一个Map控件,可以在其中加入地图的图层;
这里我们添加了一个ArcGISTiledMapServiceLayer瓷砖图层,URL的内容便是ArcGIS Online的一个世界地图资源。
运行这个例子,我们就得到一个真正的"您好,世界”了:
这个地图虽然简单,但是在拖曳、放大等操作速度已经远远胜过javascript版本的google map了。
ArcGis的地图资源
ArcGis提供了许多免费和收费的地图资源,这里列了一些:
1.
World_Street_Map(比例尺1:591,657,528 到 1:4,514)
REST资源:http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer
2.
World Imagery (比例尺1:591,657,528 到1:1,128)
REST资源:
http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer
3.
World Topographic Map(比例尺1:591,657,528 到 1:1,128)
REST资源:
http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer
4.
World Shaded Relief (比例尺1:591,657,528 到 1:72,224)
REST资源:
http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServe
5.
World Physical Map(比例尺1:591,657,528 到 1:2,311,162)
REST资源: http://server.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer
6.
World Terrain Base (1:591,657,528 到 1:72,224)
REST资源:
http://server.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer
7.
USA Topographic Maps(1:591,657,528 到 1:18,056)
REST资源:
http://server.arcgisonline.com/ArcGIS/rest/services/USA_Topo_Maps/MapServer
更多地图类型可以参考
ESRI官方站
分享到:
相关推荐
ArcGIS Silverlight是Esri为开发者提供的一个客户端API,允许在Silverlight应用程序中嵌入交互式地图。它提供了地图显示、图层管理、地理编码、空间查询、缓冲区分析等众多功能。Silverlight作为一个插件,能够在...
- **客户端接口**:可能包含了使用JavaScript API或Flex/Silverlight API与ArcGIS Server通信的代码,实现地图的显示、缩放、平移等操作。 - **地理处理任务**:如果源码涉及到地理处理,那么会有执行空间分析任务...
1. **ArcGIS Silverlight概述** ArcGIS Silverlight API允许开发者在Silverlight应用中嵌入地图服务,支持各种地图操作,如平移、缩放、图层控制等。同时,它还提供了对地理编码、查询、图层叠加等功能的支持,使得...
总之,ArcGIS API for Silverlight结合了GIS的强大功能和Silverlight的交互性,使得开发富客户端GIS应用变得可能。通过熟悉其基础概念、API使用以及开发流程,开发者能够构建出满足各种需求的GIS应用程序。
- **定义**:ArcGIS Silverlight API 是一款基于 Silverlight 的 WebGIS 应用开发接口,它通过 REST 接口访问 ArcGIS Server 服务,并可以直接访问微软 Bing 地图服务。 ##### 版本历史 - **2009 年 3 月**:发布 ...
2. 添加ArcGIS Silverlight API引用。 3. 创建地图控件并设置初始视图。 4. 添加地图服务图层。 5. 运行应用程序进行测试。 #### 三、应用开发入门 本节将详细介绍如何使用ArcGIS Silverlight API进行地图图层、...
- **Silverlight 1.0**(2007年9月发布):主要关注于提供一个轻量级的运行时环境,用于播放视频和音频,支持 VC-1、WMV 视频格式以及 MP3 和 WMA 音频格式。同时,它还支持渐进式下载和流媒体播放技术,使得开发者...
ArcGIS Silverlight是Esri公司推出的一款用于构建Web地图应用的开发框架,它结合了ArcGIS的强大地理信息系统功能与Silverlight的富客户端体验,为开发者提供了丰富的地图展示、数据分析和交互操作的能力。...
ArcGIS API for Silverlight是Esri提供的一个库,旨在帮助开发者使用Silverlight快速构建地理信息系统(GIS)应用。该API封装了许多复杂的GIS功能,使得开发者能够轻松地集成地图显示、查询、编辑等功能到自己的...
- **SOE的重要性**:SOEs提供了一种快速、可嵌入的方式,用于扩展ArcGIS Server的功能。它们能够执行细粒度的ArcObjects操作,这在其他方式下可能不可行。随着ArcGIS Server的发展,SOEs变得尤为重要,因为它们提供...
在IT行业中,ArcGIS API for Silverlight是一种广泛用于构建地理信息系统(GIS)应用程序的开发工具。Silverlight是微软推出的一种富互联网应用(RIA)技术,它允许开发者创建具有丰富交互性和多媒体体验的Web应用...
Silverlight作为一个强大的富客户端技术,可以提供丰富的交互体验和高性能的图形渲染,与ArcGIS API结合,能够创建出功能强大且用户友好的Web GIS应用。 二、核心组件与功能 1. 地图控件:Map控件是ArcGIS API的...
#### 一、ArcGIS API 下载与安装 - **下载地址**: ArcGIS API 可以从官方网站下载,具体链接为:https://developers.arcgis.com/en/downloads/ - **安装流程**: - 对于 ArcGIS API for JavaScript: - 首先,下载...
ArcGIS Server结合RIA(富互联网应用)开发模式在Silverlight平台上的实践是一个深入的技术领域,尤其适合于地理信息系统(GIS)与网络技术的整合。接下来,我们将详细地探讨该技术的多个核心知识点,从而帮助初学者...
1. **理解服务概念**:服务是ArcGIS Server的核心,它是GIS资源的封装形式,可以被客户端应用程序调用。 2. **创作GIS资源**:在ArcGIS Desktop中创建地图、图层和其他GIS资源。 3. **获取ArcGIS Desktop帮助**:...
- 使用ArcGIS JavaScript API、ArcGIS API for Flex或ArcGIS API for Silverlight进行Web开发。 - 探索地图服务、图层服务、地理编码服务等Web服务的使用方法。 6. **第十五章:ArcGIS Server for Java** - 介绍...
1. 客户端支持:开源WebGIS的客户端库如Flex、SL(Silverlight)和JS(JavaScript),分别对应不同的开发环境和用户需求。Flex适合桌面应用,SL适用于.NET平台,JS则适用于跨平台的Web开发。 2. 多语言支持:开源...