zoukankan      html  css  js  c++  java
  • arcgis silverlight api 图层介绍

     Layer

      |--TiledMapServiceLayer

      | |--ArcGISTiledMapServiceLayer

      |--DynamicLayer

      | |--DynamicMapServiceLayer

      | |--ArcGISDynamicMapServiceLayer

      | |--ArcGISImageServiceLayer

      | |--GPResultImageLayer

      |--GraphicsLayer

      | |--FeatureLayer

      |--ElementLayer

      1、Layer:

      继承自Silverlight中的DependencyObject,并实现了INotifyPropertyChanged接口,是Silverlight API中其他图层的基类。

      2、TiledMapServiceLayer:

      继承自Layer,是所有使用了缓存的地图服务的基类。通过它可以在程序中加入经过缓存的,来自不同数据源的地图服务。比如ArcGIS Server的地图服务,Google Map的地图,Virtual Earth的地图等;

      3、ArcGISTiledMapServiceLayer:

      继承自TiledMapServiceLayer。像上面说的一样,这个图层扩展了TiledMapServiceLayer,于是支持由ArcGISServer 9.3版本发布的经过缓存的地图服务。

      4、DynamicLayer:

      继承自Layer,是动态地图服务的基类;

      5、DynamicMapServiceLayer:

      继承自DynamicLayer,对应于TiledMapServiceLayer,要使用未经过缓存的动态地图服务,就得通过扩展这个图层来实现。

      6、ArcGISDynamicMapServiceLayer:

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

      7、ArcGISImageServiceLayer:

      继承自DynamicMapServiceLayer,针对ArcGIS Server 9.3版本发布的ImageService,因为影像服务也属于动态的地图服务。在客户端API中,可以通过ArcGISImageServiceLayer的一些属性,方便通过浏览器来展示服务器端的影像数据,比如通过BandIds属性,可以快速调整影像数据显示波段的组合(RGB通道),提供不同结果供用户查看。点击这里http://serverapps.esri.com/javascript_examples/image_service_band_spinners.html,查看一个实例;

      8、GPResultImageLayer:

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

      9、GraphicsLayer:

      继承自Layer,这个图层一般满足我们与地图交互时呈现的元素。比如拉框放大,我们能看见鼠标所画的一个矩形;又比如对兴趣点的查询,结果通常是将符合条件的兴趣点的形状高亮显示等。我们做GPS位置跟踪时,一般才用的也就是它。

      10、FeatureLayer:

      继承自GraphicsLayer,这也是Silverlight API中的亮点之一,通过它可以完成一个比较炫的专题图Renderer。

      11、ElementLayer:

      继承自Layer,它可以用来专门呈现Silverlight中原生的FrameworkElement,比如视频,音频等。虽然在FillSymbol的Fill属性中也能利用Brush类来展现一段视频,但毕竟有些“小气”,在ElementLayer中可以大大方方的放置Silverlight元素。你可能会问,在Map控件之外,Grid等布局元素中不是也能放置Silverlight的东西吗,为什么要放在ElementLayer里呢?其实有个问题经常困扰GIS开发人员,就是想让一些非地理数据元素随着地图范围的变化(放大,缩小,平移)而变化,而无须自己在Extent变化后重新计算客户端坐标,手工改变这些元素的位置。瞧,ElementLayer正解决了这个问题。

  • 相关阅读:
    Android进程生命周期与ADJ
    四大组件之综述
    Linux进程pid分配法
    Linux的进程管理
    Linux硬盘管理
    Linux用户管理
    Linux命令行使用
    vim技巧5 常用操作
    vim技巧4 删除/保留文本中匹配行
    如何绘制UML图?
  • 原文地址:https://www.cnblogs.com/aoldman/p/3147733.html
Copyright © 2011-2022 走看看