1、默认图层顺序
1.1、arcgis把图层按空间分成两类
graphicsLayers(矢量图层)
、 featureLayers(特征图层)
,暂时标记为一类。basemapLayers(底层图层)
、其他layers
,暂时标记为二类。
1.2、默认图层顺序如下
- graphicsLayers、featureLayers在上层,
- basemapLayers+其他layers在下层,
- basemapLayers默认在下层的底部。
- 同一类图层的图层顺序默认是按照添加到地图上的顺序来决定图层的顺序的,先添加的在下面,后添加的在上面。这里的添加指的是
map.addLayer()
执行的顺序。
一类图层在上面,二类图层在下面,basemapLayers在最下层
2、与图层顺序相关的map的属性
2.1、如何获取当前所有图层的叠加顺序
basemapLayerIds | 返回String或[ ] | 底图图层对应的ID数组 |
---|
备注:这里的底图图层是指以下basemap所加载的图层
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9b0a6802b299d04fd32d5263ba909c3b.png)
注意:basemapLayerIds中的ID顺序不会被改变。
layerIds | 返回String或[ ] | 返回除GraphicsLayers和FeatureLayers外的图层对应的ID数组。 |
---|
graphicsLayerIds | 返回String或[ ] | 返回GraphicsLayers和FeatureLayers图层对应的ID数组。 |
---|
3、跟图层顺序相关的map方法(仅限3.20版本)
3.1、addLayer(layer, index?) 添加图层,并指定图层顺序
layer | 必填 | 要添加到地图的图层。 |
---|
index | 可选 | 可以在地图中的指定索引处添加图层。如果未指定索引或指定的索引大于当前层数或指定的索引小于0,则图层将自动附加到地图中的图层列表中,并且索引将标准化 |
index < 0 或者 index >= layerIds.length | 放在所属层的最上面(跟reorderLayer()不一样,与不设置时的默认的添加顺序相同 |
---|
0<= index <= layerIds.length – 1 | 插入到layerIds[index]的位置上,其位置原来的图层自动向后 |
3.2、reorderLayer(layer, index) 更改地图中的图层顺序
layer | 必填 | 要移动的图层 |
---|
index | 必填 | 指放置图层的位置。最底层的索引为0。 |
index < 0 | 放在所属层的最下面(跟addLayer ()不一样) |
---|
0<= index <= layerIds.length – 1 | 插入到layerIds[index]的位置上,其位置原来的图层自动向后 |
index >= layerIds.length | 放在所属层的最上面 |
4、跟图层顺序相关的map事件(仅限3.20版本)
4.1、layer-reorder 指定的图层的顺序改变后触发
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d2b8b78632d3095859c1b0fe1a88e916.png)
4.2、layers-reordered 所有图层重新排序后触发。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d488ff542a7608cc3949a5f4ceaeb744.png)
5、图层的id是如何设置的
new GraphicsLayer(options?)
options配制如下:
{
<String> id : 分配给图层的Id。如果没有分配,esri地图会自动赋默认值。
。。。。。。。(其它配制省略)
}
参考链接:https://blog.csdn.net/weixin_42609240/article/details/80930576