# MapGIS Client for JavaScript API

Cesium MapboxGL Leaflet OpenLayers
API文档

    import {
      getCesiumLayerIndex,
      getTilingSchemeBySpatialReference
    } from './support/utils'

    class ArcGISMapImageLayerUtil {}

    /**
     * 添加动态图层
     * @private
     * @param {Layer} layer 基本图层对象
     * @param {Viewer} innerView Cesium的视图对象
     * @return {Object} 创建好的Cesium图层对象
     * */
    ArcGISMapImageLayerUtil.addArcGISMapImageLayer = function (layer, innerView) {
      const tilingScheme = getTilingSchemeBySpatialReference(
        layer.spatialReference,
        layer.extent
      )
      const options = {
        // ArcGIS MapServer服务地址
        url: layer.url,
        // 是否使用已经预缓存的瓦片方式加载图层，为false表示不使用瓦片方式加载图层，使用export服务加载图层
        usePreCachedTilesIfAvailable: false,
        // 逗号分隔的列表，用于规定加载的图层，未定义表示加载所有的图层
        layers: layer.layers,
        // 地图瓦片的切分方式,经纬度或者Web墨卡托
        tilingScheme
      }
      // 获取图层index
      const index = getCesiumLayerIndex(layer, innerView)
      // 加载ArcGIS地图文档服务
      const arcgisMapImageLayer = innerView.imageryLayers.addImageryProvider(
        new Cesium.ArcGisMapServerImageryProvider(options),
        index
      )
      // 设置id
      arcgisMapImageLayer.id = layer.id
      // 设置index，layer._realIndex + 1是因为cesium第0个是底图，因此顺序从1开始
      arcgisMapImageLayer._realIndex = layer._realIndex + 1
      return arcgisMapImageLayer
    }

    /**
     * 移除图层
     * @param {Object} layer 图层对象
     * @param {Viewer} innerView Cesium的视图对象
     * */
    ArcGISMapImageLayerUtil.removeLayer = function (layer, innerView) {
      innerView.imageryLayers.remove(layer)
    }
    export default ArcGISMapImageLayerUtil

构造函数
成员变量
方法
事件