大佬教程收集整理的这篇文章主要介绍了ArcGIS API for Silverlight 学习笔记,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
ArcGIS Silverlight API:是构建在微软Silverlight平台之上,通过arcgis server Rest API消费ArcGIS
Server 服务,同时支持直接消费Bing地图服务的应用程序编程接口。
2、Geometryservice - -实现基于Geometry的功能模块
3、Geoprocessing service --在Web端消费GP工具
Bing服务:
1、Map services --访问Bing在线缓存地图数据
2、GeoCode service --提供世界范围的地理编码服务
学习Silverlight官网:
1、http://silverlight.net/
2、http://www.codeplex.com/Silverlght
3、http://msdn.microsoft.com/zh-cn/library/cc838158(Vs.95).aspx
API Library概述:
ESRI.ArcGIs.CLIENt.dll 核心类库,@L_451_3@map、Layer、Graphics、Geometry、Symbol、Task
ESRI.ArcGIs.CLIENt.behaviors.dll 包含一套行为和动作,用来与Map及其内容交互
ESRI.ArcGIs.CLIENt.bing.dll 专门针对Bing(Virtual Earth)服务的类库,支持添加Bing的Mapservice、GeoCode service和RoutIn services。
ESRI.ArcGIs.CLIENt.ToolKit.dll 包含Bookmark、Magnifier、MapTip、Toolbar、Navigation、OverviewMap等控件。
Silverlight API开发---------Map&Layer
支持的图层类型:
ArcGISDynamicMapserviceLayer
ArcGISTiledMapserviceLayer
ArcGISImageserviceLayer
GraphicsLayer
FeatureLayer --指定类型的GraphicsLayer
url --必须指定Mapservice图层的地址
where --定义的查询条件
FeatureSymbol --用于所有的Graphics
Clusterer --要素点按簇显示
TileLayer --Bing Layer
ElementLayer --Silverlight UI/Media
图层拓扑关系图:
DynamicLayer ElementLayer TiledMapserviceLayer GraphicLayer
DynamicMapserviceLayer FeatureLayer
GPResultImageLayer Bing.TileLayer
arcGISImageserviceLayer arcGISTiledMapserviceLayer
注意事项:
1、 地图显示的顺序依照加载的先后顺序
2、 Map初始化空间参考和比例尺级别
3、 ArcGISDynamicMapserviceLayer的背景色总是透明
4、 Multi-Layer Cache不支持
5、 地图服务安全策略
6、 SnapToLevels属性
7、 控制地图动画时间->ZoomDuration(1.5)&PanDuration(0.75)
API支持的Task类(ESRI.ArcGIs.CLIENt.Tasks)
QueryTask --针对单个图层
IdentifyTask --与位置相交的要素
Address --获取地理坐标的地址(Reverse GeoCodE)
Geometryservice --执行Geometry操作
GeoProcessor --做复杂的GIS分析
Geometryservice
功能 描述
AreasAndLengths
测距 计算输入polylines的长度
Lengths
缓冲区工具
LabelPoints
Simplify
Project
空间关系 计算geometries之间的空间关系
Relation
使用Task三步走原则:
1、 实例化Task对象,注册Task完成、失败的监听事件。
QueryTaskqueryTask;
queryTask= new QueryTask(“http://localhost/ArcGIS/rest/services/USA/MapServer/5”);
queryTask.ExecuteCompleted+=QueryTask_ExecuteCompleted;
queryTask.Failed+=QueryTask_Failed;
2、 实例化Task参数对象,为必要的属性赋值,发送请求。
Queryquery = new Query();
query.ReturnGeometry= true;
query.outFields.AddRange(newString[] {“STATE_NAME”});
query.Where= QueryTextBox.Text;
queryTask.ExecuteAsync(query);
3、 在Completed事件中处理返回结果/处理失败的结果。
privatevoid QueryTask_ExecuteCompleted(object sender,QueryEventArgs args)
GraphicsLayer graphicsLayer = mymap.Layers[“MyGLayer”]as GraphicsLayer;
graphicsLayer.ClearGraphics();
…
}
private voidQueryTask_Failed(object sender,TaskFailedEventArgs args)
messageBox.Show(“Query Failed:”+args.Error);
}
GPservice
执行GP服务的2套成员
同步GP服务 -----短处理事件ExecuteAsync
只要执行一完成,就返回每个操作的结果给客户端,在服务器端不存储结果。
异步GP服务 ---长处理时间 SubmitJobAsync
存储结果在服务器上,返回一个job ID给客户端,客户端然后使用这个ID返回结果。
Behavior->被设计为操作基于map的预定义事件,并且生成结果
--MaintainExtentBehavior
--ShowCoordinatesBehavior
--PanToAction
--ZoomToAction
--ZoomToFullExtentAction
--MeasureAction
需要添加System.Windows.Interactivity.dll引用。
Silverlight API开发---ToolKit工具栏
FeatureDataGrid 要素表格
@H_854_18@magnifier 放大镜 @H_854_18@magnifyingGlass 放大镜 @H_854_18@mapProgressBar 地图进度条 @H_854_18@mapTips 地图提示OverviewMap 鹰眼
客户化控件外观
目的:
实现思路:
2、 在资源字典中根据控件协议自定义新的控件模板
3、 在xaml中为控件的Template属性赋值
Silverlight API实现专题图绘制:
目的:
在地图上展现专题业务信息,为用户实现控件维分析
实现思路:
1、 专题要素需要在GraphicLayer中显示,构建GraphicLayer
3、 queryTask返回查询要素
4、 在GraphicLayer中添加Graphic,完成专题图绘制
Silverlight API可扩展性–--自定义图层
目的:
在地图控件中加载Silverlight API未原生支持的图层。
实现思路:
1、 了解自定义图层的访问原理(访问协议)
3、 初始化资源(重载Initiallize方法)
经典案例:
SilverlightShowCase官网上有案例源码,一定要学习一下。
以上是大佬教程为你收集整理的ArcGIS API for Silverlight 学习笔记全部内容,希望文章能够帮你解决ArcGIS API for Silverlight 学习笔记所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。