silverlight 学习笔记(2) 图层

来源:互联网 发布:淘宝店铺招牌制作 编辑:程序博客网 时间:2024/04/30 16:00

     在学习的过程中当然要参考好多资料,我现在做的工作是GIS开发,所以后面的例子都是这方面的例子。这只是学习的过程中的一些想法,再加上自己文笔太差,所以就想到哪写到哪,还望大家多多包涵。

      首先给大家推荐个网站,help.arcgis.com/en/webapi/silverlight/index.html  这个网站里面的Sample,很详细,能把这个看完,做一个地图导航,不成问题。

       这里接触了一个图层的概念,

通过这个图层可以知道图层的结构:

      1,Layer 是所有图层类型的基类,是一个抽象类。

      2,GraphicsLayer 是一个包含有大量可交互矢量图形的地图图层,这如同ADF中的 GraphicsLayer 的概念,GraphicsLayer 里面存放的是 Graphics 的集合,Graphics 中要设置该矢量图形的地图符号(Symbol)和几何类型(Geometry,几何类型必须同地图符号匹配。比如,一个 MarkerSymbol 类型的点符号,其对应的几何类型必须为 MapPoint 或者 MultiPoint,FillSymbol 类型的面符号,其对应的几何类型必须为 Polygon,LineSymbol类型的线符号,其对应的几何类型必须为 Polyline)

  3,FeatureLayer 继承自 GraphicsLayer,这个类可以为我们展示丰富的要素图形,为用户提供完美的视觉感受。

  4,DynamicLayer 继承自 Layer,是动态地图服务的基类,是一个抽象类。

  5,DynamicMapServiceLayer 继承自 DynamicLayer,未经过缓存的动态地图服务的基类,是一个抽象类。可以继承这个类,使得 agsapi4sl 能访问诸如 ArcGISServer 9.3 的地图服务和 OGC 的 WMS 服务等未经过缓存的动态地图服务。

  6,ArcGISDynamicMapServiceLayer 继承自 DynamicMapServiceLayer,针对 ArcGIS Server9.3 版本发布的动态地图服务,同理,如果要在客户端API中使其他动态地图服务,比如 OGC 的 WMS 服务,则也需要像这个图层一样,扩展上面的 DynamicMapServiceLayer 来实现。

  7,ArcGISImageServiceLayer 继承自 DynamicMapServiceLayer,针对 ArcGIS Server 9.3 版本发布的 ImageService。

  8,GPResultImageLayer 继承自 DynamicMapServiceLayer,针对 Geoprocessing 服务所产生的结果。可以请求服务器端的GP服务将结果动态生成一张图片,将此图片作为 GPResultImageLayer 图层直接添加到Map控件中。

  9,ElementLayer 是Framework Element 组件层,通过这个类,我们可以将诸如 Button,TextBlock 甚至视频放在这个层中,进而添加到Map控件中。

  10,TiledMapServiceLayer 是所有使用了缓存的地图服务的基类,是一个抽象类。可以通过继承这个类,使得 agsapi4sl 能访问诸如 ArcGIS Server 的地图服务,Google Map 的地图服务,Virtual Earth 的地图服务等使用了缓存的地图服务。

  11,ArcGISTiledMapServiceLayer 继承自 TiledMapServiceLayer,支持由 ArcGISServer 9.3 版本发布的经过缓存的地图服务,同理,如果要在客户端API中使用其他使用了缓存的地图服务,比如 Google Map 的地图服务,Virtual Earth 的地图服务等,则也需要像这个图层一样,扩展上面的 DynamicMapServiceLayer 来实现。

  12,Bing.TileLayer 继承自TileMapServiceLayer,支持由微软发布的经过缓存的 Bing Maps SOAP Services 地图服务。

 

其中用到最多的就是GraphicsLayer,因为它是可交互的。地图定位的时候,通过经纬度,在地图上标记一个点或其它的标志。例如,消防队伍森林火场灭火,这样就可以在地图上表示,队伍的具体位置,火场的文章,队伍的轨迹,队伍距火场的距离等。

原创粉丝点击