# MapGIS Client for JavaScript API

Cesium MapboxGL Leaflet OpenLayers
API文档

    import { getCesiumLayerIndex } from '../../view/utils/support/utils'

    /**
     * 获取图层在map中的上一个图层的index，如果没有上一个图层，则返回0
     * @param {Array} items 图层数组
     * @param {Object} layer 图层对象
     * @return {Number} 图层顺序
     * */
    function getLayerIndex(items, layer) {
      let index = 0

      for (let i = 0; i < items.length; i++) {
        if (items[i].id === layer.id) {
          index = i - 1
          break
        }
      }
      if (index < 0) {
        index = 0
      }

      return index
    }

    /**
     * 修改图层顺序
     * @param {Object} layer 基础图层对象
     * @param {Object} innerLayer 三维上的图层对象
     * @param {Object} innerView cesium的view对象
     * */
    function updateLayerIndex(layer, innerLayer, innerView) {
      // 获取图层index
      // eslint-disable-next-line import/no-named-as-default-member
      const moveIndex = getCesiumLayerIndex(layer, innerView)
      const currentIndex = innerView.imageryLayers.indexOf(innerLayer)
      if (currentIndex >= moveIndex) {
        for (let j = 0; j < currentIndex - moveIndex; j++) {
          innerView.imageryLayers.lower(innerLayer)
        }
        innerLayer._realIndex = layer._realIndex + 1
      } else {
        for (let j = 0; j < moveIndex - currentIndex; j++) {
          innerView.imageryLayers.raise(innerLayer)
        }
        innerLayer._realIndex = layer._realIndex + 1
      }
    }

    export { getLayerIndex, updateLayerIndex }

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