`

【一】ArcGIS Silverlight 客户端 1-2-3

阅读更多
题记

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官方站
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics