ArcGIS+API+for+Silverlight开发入门图文pdf

上传人:亦明 文档编号:141882287 上传时间:2020-08-13 格式:DOC 页数:22 大小:173.83KB
返回 下载 相关 举报
ArcGIS+API+for+Silverlight开发入门图文pdf_第1页
第1页 / 共22页
ArcGIS+API+for+Silverlight开发入门图文pdf_第2页
第2页 / 共22页
ArcGIS+API+for+Silverlight开发入门图文pdf_第3页
第3页 / 共22页
ArcGIS+API+for+Silverlight开发入门图文pdf_第4页
第4页 / 共22页
ArcGIS+API+for+Silverlight开发入门图文pdf_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《ArcGIS+API+for+Silverlight开发入门图文pdf》由会员分享,可在线阅读,更多相关《ArcGIS+API+for+Silverlight开发入门图文pdf(22页珍藏版)》请在金锄头文库上搜索。

1、ArcGIS+API+for+Silverlight开发入门图文pdf 第一节、为什么要用Silverlight API?你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我都没关系。 但你不能否认3G是一种趋势,最终我们每个人都会被包裹在3G网络中。 1100也不是一成不变,没准哪天为了打击犯罪,会在你的1100上强制装上GPS。 GIS工作既然建立在计算机的基础上,当然也得随着IT行业与时俱进。 看看现在计算机应用的趋势吧。 云(计算),这个东西可讲不清楚,因为云嘛,飘忽不定的。 不过可以这样来看它,以后计算机网络上就有一坨(或者几坨)万能的云,有什么需求云都

2、可以满足我们,包括各种资源或者计算工作,就不需要在自己的机器上安装任何软件了(甚至操作系统都可以由天边那朵云来提供给你)。 更具体点,SaaS(Software asa Service),各种的网页邮件系统,google docs(一个在线的office)都是SaaS。 收发邮件登陆一个网页就行,而不需要在自己机器上安装一个软件。 这就是计算机应用的一个趋势,把所有东西都做到网上。 再来看看网上的趋势RIA(Rich InterApplication)。 RIA简单来讲就是一个网页(网络应用),在完成基本功能的同时,会让你觉得很漂亮,操作起来很舒服,效果很炫,而不是打开后立刻就想关掉它。 其实

3、大受欢迎的开心网(各种插件)和twitter,甚至QQ空间等,都有RIA的身影。 好了,ArcGIS之所以在行业领先,特点之一就是它能紧跟计算机发展的趋势。 ArcGISOnline就是那朵天边的浮云;JavaScript API,Flex API,Siverlight API就是ArcGIS自己RIA的三驾马车。 这里还得插一句,我觉得ArcGIS Server的主角本来是ADF,通过它我们可以完成一个无所不能的ServerGIS。 但在大多数情况下,GIS都是作为特定的业务嵌入在一些MIS中的,相比购买ADF这辆悍马来说,还是直接驾驭三套车跑的更轻快一些。 现在看看我们的主角。 其实是Ar

4、cGIS APIforSilverlight/WPF(以下专注Siverlight部分),那么Silverlight和WPF的关系如何呢?Silverlight原来叫WPF/E,E就是Everywhere,从命名可以看出它们的关系Silverlight是WPF的一个子集。 WPF是.NETFramework3.0的组成部分之一,微软视其为下一代用户界面,总之很高档就是了(在Vista和Windows7中看到的大量与XP不同的界面,就是WPF的身影);Silverlight可以看做是WPF在浏览器里的一个外挂,用于向网络用户展示自己的强大能力,由于受限于网络环境,所以是WPF的一部分核心功能。

5、Siverlight的设计初衷是跨平台,跨浏览器的。 如果这些还是比较抽象,那么可以造一个排比句来进一步说明。 之前先肯定一点,Flash现在在网络中的的主导地位。 开始造句。 Adobe有Flash,微软有Silverlight;Adobe有AIR,微软有WPF;Flex有mxml,Silverlight有xaml;Adobe有ActionScript,微软有Code-Behind(C#/VB.NET)或者JavaScript;Adobe有CS(包括Dreamweaver,Flash,Fireworks,Photoshop,Illustrator),微软有ExpressionStudio(包

6、括Blend,Web,Design,Media,Encoder)。 现在,能够看来Siverlight到底是何方神圣了吧?最后再来说说ArcGIS这三驾马车(JavaScript API,Flex API,SiverlightAPI)。 国外有人说,随着Siverlight API的推出,与Flex API一起,将会使JavaScriptAPI慢慢退出历史舞台,因为前两者就是为RIA而生的。 但其实也不然,随着Google和Mozilla工程师的推进,他们能够使JavaScript的执行速度提高非常多,Chrome就是例子。 在这种背景下,一些非常cool的程序员会让古老的JavaScript

7、获得重生。 到底哪匹马跑得更快?别回答这种问题,赶紧挑一匹自己的马儿,快马扬鞭吧在今年的ESRI开发用户大会上,一阵鼓声过后,ESRI隆重推出了ArcGIS APIforSilverlight/WPF(beta)。 接下来我将把自己在学习Silverlight API中的一些经历和大家分享,与大伙共同进步。 第二节、Getting Started这一节来对Silverlight API(ArcGIS APIfor Silverlight,下同)的开发有个总体的认识。 欲善其事先利其器。 要做开发,第一步就得搭建环境。 因为是在Siverlight基础上做开发,所以先得好Siverlight的开

8、发环境。 Silverlight并没有内建在VSxx中,而是作为add-on的形式附加的。 在这里可以找到详细的安装步骤说明一下,步骤1安装了Silverlight add-on(要求有IDE的SP1补丁包);步骤2安装的是ExpressionStudio中的ExpressionBlend,这个工具相当于可视化的xaml器,可以用来轻松的创建Silverlight程序的用户界面;步骤3中安装的是Silverlight一种非常华丽的图片处理效果,可以参看这里的实例;步骤4包括一些可用的Silverlight控件和例子。 接下来再去看看Silverlight API的要求。 可以看出对于开发Arc

9、GIS Silverlight程序来说,只有步骤1是必须的,其他都是可选的。 之后需要从ESRI网站下载Silverlight API(需要注册一个ESRI Global账户),以备后用。 总结一下最常见的安装步骤 1、安装VSxx; 2、安装VSxxSP1; 3、安装SilverlightTools forVisual StudioxxSP1。 到此,就可进行Silverlight程序的开发了。 关于开发环境的搭建,还可以参考yyilyzbc版主的帖子。 (做Silverlight API的开发不需要在自己的机器上安装ArcGIS Server,可直接使用ArcGIS Online上的数据;

10、但如果要添加自己的数据,当然还是需要ArcGIS Server了)下面就来一个Hello World吧,对于GIS来说,理所当然就是展示一张漂亮的世界地图了。 具体步骤如下 1、VSxx中,新建project,选择Silverlight Application; 2、在出现的提示框中选择Add anew ASP.NET Webproject tothe solutiontohostSilverlight;(Silverlight程序与flash一样,相当于网页中的一个插件。 第一个选项是将Silverlight嵌入到一个ASP.NET网站中,第二个选项是将Silverlight嵌入到一个临时的

11、html页面中) 3、添加Silverlight API的引用与.NET程序开发一样,add reference(注意是在Silverlight工程上而不是ASP.NET工程上),找到从ESRI下载的API,选择添加ESRI.ArcGIS.dll; 4、打开Page.xaml,在UserControl标签中添加一句引用,在Grid标签之间添加一些代码,完成后看起来像这样? 5、按F5,运行程序,就完成了我们的hello worldin GIS可以在浏览器中看到下面的画面看到效果之后,再来对它进行理解吧。 先说下Silverlight的程序的基本背景。 page.xaml实际上是一个控件,相当于

12、asp.中的default.aspx,大部分的工作都在这里面完成(app.xaml相当于global.asax);上面的是xaml(读igzeml)代码,是微软针对wpf/silverlight的标记语言,与flex中的mxml类似。 Silverlight程序中所有的布局工作都是由xaml来完成的;Silverlight2中,VSxx可以实时对xaml的效果做预览,但是这个预览效果是只读的,对于预览中的控件也不可选;为了弥补这个缺陷,可以用前面提到的ExpressionBlend来可视化地设计程序界面,会自动生成对应的xaml代码,使用于复杂的布局和美化工作(可参考Silverlight中的

13、clock例子);再看page.xaml。 usercontrol标签(页面的根元素)证明了page.xaml实际上是一个控件类;下面的几句相当于引入了xml的特定命名空间,里面包括了我们的ESRI.ArcGIS;width和height指明了Silverlight控件本身的尺寸,一般我们将这里的width和height属性去掉,已达到全屏的效果(你也可以试试哦);Grid标签是布局控件,相当于html中的表格,可以进行灵活的页面布局,xaml中常用的布局控件还有Canvas和StackPanel;每一个xaml的Control都可以有一个x:Name属性,以便在code-behind页面中对

14、其引用。 之后是我们的主角了。 Map标签(继承自xaml的Control)相当于一个Map控件,可以在其中加入图层;这里我们添加了一个ArcGISTiledMapServiceLayer图层(在后面的文章中会专门讲到SilverlightAPI中的图层类型),对应使用的是ArcGIS Server发布的经过cache的服务,作为客户端的API,同JavaScript与FlexAPI一样,都是通过REST方式对资源和操作进行引用的;对这个图层,赋予了一个ID属性,因为SilverlightAPI中的图层是从xaml中的DependencyObject继承而来,所以没有x:Name的属性,为了方

15、便在code-behind(与asp.类似的托管代码)的代码中找到这个图层,便使用了ID属性;URL的内容便是ArcGIS Online发布好的一个世界地图资源。 到此,应该对这个例子理解的差不多了。 如果还想再添加一个图层该怎么办呢?没错,就是在Map标签中再添加一个layer,不过要注意的是,第一个加入的图层会显示在最下面,并且决定了整个Map控件的空间参考信息。 大家自然会想到叠加一个自己的数据图层来看看效果,于是对Map标签内容做了修改(china是本机发布的一个中国地图)?运行后却还是只有世界地图一个图层(已经确保拼写、大小写正确),怎么回事呢?来用事件帮助查找错误吧。 Silverlight能够利用.的一些核心库内容,包括事件。 来对刚才的那个图层添加一个事件InitializationFailed,当图层添加失败的时候会出发这个事件。 添加这个事件的处理也非常简单在上面的图层中加入InitializationFailed属性,会提示你生成新的eventhandler,默认回车,看上去像这

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号