API 版本:3.24
为方便理解,把图层按空间分成两类: graphicsLayers+featureLayers和basemapLayers+其他layers。graphicsLayers+featureLayers在上层,basemapLayers+其他layers在下层,basemapLayers默认在下层的底部。
graphicsLayers+featureLayers的图层ID存在graphicsLayerIds数组中,basemapLayers+其他layers的图层ID存在layerIds中。graphicsLayerIds和layerIds中的图层ID顺序,就是图层的顺序,索引值越大越上层。
basemapLayers的图层ID在basemapLayerIds和layerIds中都有存放,不同的是basemapLayerIds中的ID顺序无法改变,layerIds中的ID顺序可以改变。
1 跟图层顺序相关的map属性
1.1 basemapLayerIds
底图图层对应的ID数组。 |
备注:这里的底图图层是指以下basemap所加载的图层:
<String> basemap |
可选 |
指定的底图。以下是有效选项: "streets" , "satellite" , "hybrid", "topo", "gray", "dark-gray", "oceans", "national-geographic", "terrain", "osm", "dark-gray-vector", gray-vector", "streets-vector", "streets-night-vector", "streets-relief-vector", "streets-navigation-vector", "topo-vector", "terrain" , "dark-gray", "dark-gray-vector", "gray-vector", "streets-vector", "streets-night-vector", "streets-relief-vector", "streets-navigation-vector" , "topo-vector". |
注意:basemapLayerIds中的ID顺序不会被改变。
1.2 layerIds
除GraphicsLayers和FeatureLayers外的图层对应的ID数组。 |
1.3 graphicsLayerIds
GraphicsLayers和FeatureLayers图层对应的ID数组。 |
2 跟图层顺序相关的map方法
2.1 addLayer(layer, index?)
向地图添加Esri图层。
返回类型: Layer
参数:
<Layer> layer |
必需 |
要添加到地图的图层。 |
<Number> index |
可选 |
可以在地图中的指定索引处添加图层。如果未指定索引或指定的索引大于当前层数或指定的索引小于0,则图层将自动附加到地图中的图层列表中,并且索引将标准化 |
Index值对应的图层排序情况:
index < 0 |
放在所属层的最上面(跟reorderLayer()不一样) |
0<= index <= layerIds.length – 1 |
插入到layerIds[index]的位置上 |
index >= layerIds.length |
放在所属层的最下面 |
2.2 reorderLayer(layer, index)
更改地图中的图层顺序。请注意,添加的第一个图层始终是基础图层,即使其顺序已更改。
参数:
<Layer> layer |
必需 |
要移动的图层。 |
<Number> index |
必需 |
指放置图层的位置。最底层的索引为0。 |
Index值对应的图层排序情况:
index < 0 |
放在所属层的最下面(跟addLayer ()不一样) |
0<= index <= layerIds.length – 1 |
插入到layerIds[index]的位置上 |
index >= layerIds.length |
放在所属层的最上面 |
3 跟图层顺序相关的map事件
3.1 layer-reorder
{ index: <Number>, layer: <Layer> } |
图层顺序改变后触发。 |
3.2 layers-reordered
{ layerIds: <String[]> } |
所有图层重新排序后触发。 |