先来看一个模型:
|–TiledMapServiceLayer
| |–ArcGISTiledMapServiceLayer
|–DynamicLayer
| |–DynamicMapServiceLayer
| |–ArcGISDynamicMapServiceLayer
| |–ArcGISImageServiceLayer
| |–GPResultImageLayer
|–GraphicsLayer
| |–FeatureLayer
以上红色均为常用的几种图层,ArcGISTiledMapServiceLayer主要用于加载发布在ArcGIS Server上的缓存地图服务,具备了层级的概念,并在服务端缓存了预浏览的地图图片(如下图)。
ArcGISDynamicMapServiceLayer动态地图通常用于实时显示经常变化的数据,支持控制单个图层可见性,可动态投影。但缺点是显示效果较差,整个服务出图较慢。
//ArcGISDynamicMapServiceLayer class is used to define the Layer that is added to the
//MapView object.
MapView mv = new MapView(this);
mv.addLayer(new ArcGISDynamicMapServiceLayer(
"http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer"));
setContentView(mv);
GraphicsLayer就是包含了一个甚至是更多元素的图层,而且在ArcGIS API for JavaScript中默认了创建了Map Object之后都会默认包含一个元素图层,元素图层在地图上支持创建和删除Graphic。同时需要注意的一点是,图层的加载遵循“先上后下”的原则,即首先加载的图层都在下面,以此类推,同时所有的元素图层都是分布在ArcGISDynamicMapServiceLayer和ArcGISTiledMapServiceLayer上的。