# 写在前面

MapGIS Web App Framework 是一个 WebGIS 应用的的解决方案,它基于 vue (opens new window), typescript (opens new window), ant-design-vue (opens new window)MapGIS Client for JavaScript (opens new window)实现。

MapGIS Web App Framework 使用了最新的前端技术栈,提供了基于微件技术的应用框架和丰富的地图功能组件,它可以帮助你快速搭建 WebGIS 应用。

MapGIS-Web-App-Framework产品架构图

# 功能

- 框架组件
  - 应用加载器(mp-app-loader)
  - 应用搭建器(mp-app-builder)
  - 地图容器(mp-map-container)
  - 微件指示器(map-widget-indicator)
    - 微件按钮(mp-map-widget-button)
  - 地图面板(map-panel)
    - 地图面板(mp-map-widget-panel)
    - 内容面板(mp-content-widget-panel)
  - 窗口容器(mp-window-wrapper)
  - 展示面板(mp-exhibition-panel)
- 应用管理(managers)
  - 配置加载(AppManager)
  - 微件管理(WidgetManager)
- 混入(mixins)
  - 应用混入(AppMixin)
  - 主题混入(ThemeMixin)
  - 主题区域混入(ThemeContentMixin)
  - 面板混入(PanelMixin)
  - 微件信息混入(WidgetInfoMixin)
  - 微件混入(WidgetMixin)
  - 地图混入(MapMixin)
  - 展示面板混入(ExhibitionMixin)
  - 展示面板控制器混入(ExhibitionControllerMixin)
  - 应用显示模式混入(DisplayModeMixin)
- 工具(utils)
  - 微件状态(WidgetState)
  - 地图渲染(MapRender)

- 模型
  - 对象(Objects)
  - 文档(document)
    - 地图文档对象(Document)
    - 地图对象(Map)
    - 图层(layer)
      - 图层(layer)
        - 图层(Layer)
        - 图层类型(LayerType)
        - 图层加载状态(LoadStatus)
        - 图层渲染类型(RenderType)
      - 瓦片图层(tile-layer)
        - 瓦片图层(TileLayer)
        - 瓦片级别信息(LOD)
        - 瓦片切片信息(TileInfo)
      - 地图服务图层(map-image-layer)
        - 地图服务图层(MapImageLayer)
        - 子图层(Sublayer)
      - IGS瓦片服务图层(IGSTileLayer)
      - IGS地图服务图层(igs-map-image-layer)
        - IGS地图服务图层(IGSMapImageLayer)
        - 子图层(IGSSublayer)
      -IGS全景图图层(igs-panoramic-layer)
        - IGS全景图图层(IGSPanoramicLayer)
        - IGS全景图节点信息(PanoramicNodeInfo)
      - IGS地图服务矢量图层(IGSVectorLayer)
      - IGS地图服务三维图层(IGSVector3DLayer)
      - 数据流图层(DataFlowLayer)
      - OGCWMTS服务图层(ogc-wmts-layer)
        - OGCWMTS服务图层(OGCWMTSLayer)
        - OGCWMTS服务图层子图层(WMTSSublayer)
        - 瓦片矩阵集(TileMatrixSet)
        - WMTSSublayer的样式信息(WMTSStyle)
        - 发布WMTS的厂商信息(WMTSCorporation)
      - OGCWMS服务图层(ogc-wms-layer)
        - OGCWMS服务图层(OGCWMSLayer)
        - OGCWMS服务图层子图层(WMSSublayer)
      - ArcGIS瓦片服务图层(ArcGISTileLayer)
      - ArcGIS地图服务图层(arcgis-map-image-layer)
        - ArcGIS地图服务图层(ArcGISMapImageLayer)
        - ArcGIS地图服务图层子图层(ArcGISSublayer)
      - 高德墨卡托地图服务图层(amap-layer)
        - 高德墨卡托电子地图图层(AMapMercatorEMapLayer)
        - 高德墨卡托卫星地图图层(AMapMercatorSatelliteMapLayer)
        - 高德墨卡托卫星注记地图图层(AMapMercatorSatelliteAnnMapLayer)
      - 矢量瓦片图层(VectorTileLayer)
      - 三维图层(3d-layer)
        - 三维包围盒(Rectangle3D)
        - 三维点(Point3D)
        - 三维图层抽像类(Layer3D)
      - IGS发布的三维场景服务(igs-scene-layer)
        - IGS发布的三维场景服务(IGSSceneLayer)
        - 三维场景服务图层子图层渲染类型枚举(IGSSceneSublayerRenderType)
        - 三维场景服务图层子图层类型枚举(IGSSceneSublayerType)
        - 三维场景服务对象(Scene)
        - 三维场景服务图层子图层(IGSSceneSublayer)
      - 三维模型缓存图层(model-cache-layer)
        - 三维模型缓存图层(ModelCacheLayer)
        - 三维模型缓存格式(ModelCacheFormat)
      - 要素图层(feature-layer)
        - 高程模式(ElevationMode)
        - 要素表达式信息(FeatureExpressionInfo)
        - 距离单位(LengthUnit)
        - 高程信息类(ElevationInfo)
        - 要素图层(FeatureLayer)
      - IGS矢量要素图层(IGSFeatureLayer)
      - GeoJSON图层(GeoJsonLayer)
      - GraphicsLayer图层(GraphicsLayer)
      - STK地形图层(STKTerrainLayer)
      - 行业标绘图层(PlotLayer)
      - KML图层(KMLLayer)
      - KMZ图层(KMZLayer)
      - CZML图层(CZMLLayer)
      - OSM图层(OSMLayer)
      - OGCWFS(OGCWFSLayer)
  - 结果集设置(result-set)
    - 结果集当前激活页内容(ActiveResultSet)
    - 结果集所有高亮的集合(SelectedResultSet)
  - 数据流(data-flow)
    - 数据流列表(DataFlowList)
  - 应用程序接口(api)
  - 配置信息(config)
    - 应用基础配置(baseConfigInstance)
    - 下载配置(loadConfigs)
  - 数据目录(data-catalog)
    - 数据目录对象实例(dataCatalogManagerInstance)
    - 数据目录对象(DataCatalogManager)
    - 数据目录工具(DataCatalogUtil)
    - 数据目录配置信息(TreeConfig)
    - GeoJSON图层节点实例(LayerNodeToGeoJsonInstance)
    - 要素图层编辑(LayerFeatureEdit)
  - 目录(Catalog)
  - 要素(Feature)
  - 元数据(Metadata)
  - 分析(Analysis)
  - 展示面板(Exhibition)
  - 覆盖层(Overlay)
  - 模型拾取控制器(ModelPickController)
  - 标注图标实例(markerIconInstance)
  - 投放管理对象(ProjectorManager)
  - 左侧内容展示区多微件控制器(MultiChildController)
  - 底图管理控制器(BaseMapController)
  - 工具类(utils)
    - UUID(UUID)
    - 坐标转换(CoordinateTransformation)
    - 自适应范围(FitBound)
    - 请求对象(getRequest)
    - 坐标系转换(ProjectionTransformationUtil)
    - 添加图层(addLayer)
    - 移除图层(removeLayer)
    - 勾选数据目录节点(checkDataCatalogNodes)
    - 取消勾选数据目录节点(uncheckDataCatalogNodes)

- 工具
  - 常规工具(CommonUtil)
  - 字符串工具(StringUtil)
  - 数组工具(ArrayUtil)
  - 对象工具(ObjectUtil)
  - 时间工具(TimeUtil)
  - 颜色工具(ColorUtil)
  - DOM工具(DomUtil)
  - url工具(UrlUtil)

- 地图组件
  - 地图(map-pro)
    - 地图(mp-web-map-pro)
    - 场景(mp-web-scene-pro)
  - 绘制(draw-pro)
    - 绘制(mp-mp-draw-pro)
    - 3d绘制(mp-3d-draw-pro)
  - 标注(marker-pro)
    - 标注(mp-marker-pro)
    - 标注集(mp-marker-set-pro)
    - 3d标注(mp-3d-marker-pro)
    - 3d标注集(mp-3d-marker-set-pro)
  - 标绘(marker-plotting)
    - 标绘(mp-marker-plotting)
    - 3d标绘(mp-3d-marker-plotting)
  - 属性统计(mp-attribute-statistics)
  - 自定义查询(mp-field-calculator)
  - 过滤器(mp-filter)
  - 属性统计设置(mp-statistics-setting)
  - 属性统计图表(mp-statistics-echarts)