在leaflet中图层一般分为底图(Basemap)和叠加图层(Overlay)。前面章节已经介绍过底图其实也是实现了TileLayer 接口,而其他的叠加图层要么就是叠加的业务图层,要么就是动态显示的图形和符号。这一点在esri leaflet中也是有对照的。
ArcGIS产品中比较让人熟知的图层包括ArcGISDynamicMapServiceLayer、ArcGISImageServiceLayer、ArcGISTiledMapServiceLayer、FeatureLayer、GraphicsLayer、VectorTileLayer,这些图层都比较常用,在ArcGIS JavaScript API中使用也是相当的方便。在esri leaflet中同样也包含了所有的这些图层接口,可以看看关于Layer的是实现,如下图
当然,esri leaflet由于跟leaflet有所对接,所以还根据leaflet的接口于自家的服务实现了vector basemap(矢量底图)、Heatmap(热点地图)、clustered feature Layer(聚合图层)以及与自己的矢量切片图层。但这几类图层是在esri-leaflet.js 的基础上需要加入Plugin才能实现。当然实现起来也是相对简单。接下来将是各种图层的加载方式。
1. 动态图层加载
动态图层使用的是 L.esri.DynamicMapLayer 接口,其构建方式 L.esri.dynamicMapLayer(<Object>options)。其中option 中有好几个重要的参数,例如url(服务路径)、layers(图层,指的是地图服务中的图层索引的数组,如要加载第2、3、6 层,则输入数据为 [1,2,5])、layerDefs(图层过滤条件)、op


