于十二月, 2009

ArcGIS API for Silverlight开发入门(0):为什么要用Silverlight API?

这一节来对Silverlight API(ArcGIS API for Silverlight,下同)的开发有个总体的认识。
欲善其事先利其器。要做开发,第一步就得搭建环境。因为是在Siverlight基础上做开发,所以先得整理好Siverlight的开发环境。Silverlight并没有内建在VS2008中,而是作为add-on的形式附加的。在这里可以找到详细的安装步骤:
说明一下,步骤1安装了Silverlight add-on(要求有IDE的SP1补丁包);步骤2安装的是ExpressionStudio中的ExpressionBlend,这个工具相当于可视 化的xaml编辑器,可以用来轻松的创建Silverlight程序的用户界面;步骤3中安装的是Silverlight一种非常华丽的图片处理效果,可 以参看这里的实例;步骤4包括一些可用的Silverlight控件和例子。接下来再去看看Silverlight API的要求。可以看出对于开发ArcGIS Silverlight程序来说,只有步骤1是必须的,其他都是可选的。之后需要从ESRI网站下载Silverlight API(需要免费注册一个ESRI Global账户),以备后用。
总结一下最常见的安装步骤:1、安装VS2008;2、安装VS2008 SP1;3、安装Silverlight Tools for Visual Studio 2008 SP1。到此,就可进行Silverlight程序的开发了。关于开发环境的搭建,还可以参考yyilyzbc版主的帖子。(做Silverlight API的开发不需要在自己的机器上安装ArcGIS Server,可直接使用ArcGIS Online上的数据;但如果要添加自己的数据,当然还是需要ArcGIS Server了)
下面就来一个Hello World吧,对于GIS来说,理所当然就是展示一张漂亮的世界地图了。具体步骤如下:
1、VS2008中,新建project,选择Silverlight Application;
2、 在出现的提示框中选择Add a new ASP.NET Web project to the solution to hostSilverlight;(Silverlight程序与flash一样,相当于网页中的一个插件。第一个选项是将Silverlight嵌入到 一个ASP.NET网站中,第二个选项是将Silverlight嵌入到一个临时的html页面中)
3、添加Silverlight API的引用:与.NET程序开发一样,add reference(注意是在Silverlight工程上而不是ASP.NET工程上),找到从ESRI下载的API,选择添加ESRI.ArcGIS.dll;
4、打开Page.xaml,在UserControl标签中添加一句引用,在Grid标签之间添加一些代码,完成后看起来像这样:

<UserControl x:Class=”SilverlightApplication1.Page”
xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”
xmlns:esri=”clr-namespace:ESRI.ArcGIS;assembly=ESRI.ArcGIS”
Width=”400″ Height=”300″>
<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>

复制代码
5、按F5,运行程序,就完成了我们的hello world in
GIS可以在浏览器中看到下面的画面:
看到效果之后,再来对它进行理解吧。
先说下Silverlight的程序的基本背景。page.xaml实际上是一个控件,相当于asp.net中的default.aspx,大部分 的工作都在这里面完成(app.xaml相当于global.asax);上面的是xaml(读:[ig`zeml])代码,是微软针对 wpf/silverlight的标记语言,与flex中的mxml类似。Silverlight程序中所有的布局工作都是由xaml来完成 的;Silverlight2中,VS2008可以实时对xaml的效果做预览,但是这个预览效果是只读的,对于预览中的控件也不可选;为了弥补这个缺 [...]

Powered by WordPress | Shop Free Cell Phones Online & Save. | Thanks to Best CD Rates, Best Checking Rates and Homes for Sale