## MapGIS Client for JavaScript(Vue)产品介绍     MapGIS Client for JavaScript 为云 GIS 网络客户端开发平台,在云计算、大数据管理与分析等技术支撑下,将传统 WebGIS 与云 GIS 完美融合,集成了主流地图开源框架和多种可视化库,增强了大数据、实时流数据的高效可视化表达和分析功能,为用户带来全新开发体验。MapGIS Client for JavaScript 产品支持基于 HTML5 方式的纯 JS 开发,也支持基于 Vue 的组件式开发,提供 Vue 组件式开发产品——MapGIS Client for JavaScript Vue 组件产品。 ​ MapGIS Client for JavaScript Vue 组件产品,结合 MapGIS 强大的 GIS 服务资源,提供了 10+种模型,6 大类视图组件,超 300+个原子组件,全面支撑二三维云 GIS 应用开发。产品提供的所有组件遵循统一的 Vue 组件开发标准,支持异地开发,具有易用、灵活、高效的特性。 - **易用**:基于 HTML、CSS、JavaScript,具有简单、灵活的 API,轻松上手 - **灵活**:前端组件化,通过简洁的 API 提供高效数据绑定和灵活组件,可复用,易维护,具有高度的伸缩性 - **高效**:轻量级框架,超快虚拟 DOM,最省心的优化 > MapGIS Client for JavaScript Vue 组件产品组件开发 SDK 提供 WebGIS 开发所需的组件库、API、示例等,结合司马云开发世界资源中心的配套开发资源,以及云听社区、开源社区GitHubGitee,助力开发者高效开发。 ### Vue 组件开发     Vue.js 是一套用于构建用户界面的渐进式 JavaScript 框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。所谓组件化,就是把页面拆分成多个组件,每个组件依赖的 CSS、JS、模板、图片等资源放在一起开发和维护。 因为组件是资源独立的,所以组件在系统内部可复用,组件和组件之间可以嵌套,如果项目比较复杂,可以极大简化代码量,并且对后期的需求变更和维护也更加友好。 > 详情请参考Vue.js 官网 ## 产品下载 ​ MapGIS Client for JavaScript Vue 组件产品为开源产品,可从司马云-云开发世界下载正式发布的产品包,也可从开源社区(Gitee、GitHub)直接获取产品源码,自行编译、打包使用。还可通过 NPM 包方式引入产品开发库: - MapGIS 官方下载地址:http://smaryun.com/dev/download_detail.html#/download828 - GitHub 托管地址:https://github.com/MapGIS/WebClient-Vue - Gitee 托管地址:https://gitee.com/osmapgis/WebClient-Vue - MapGIS 相关 NPM 包资源地址:https://www.npmjs.com/org/mapgis ## 产品特性 ### 提供丰富的功能组件资源     Vue 组件式开发提供丰富的组件资源,包括地图组件、可视化组件、交互工具组件、分析组件、行业标绘组件等,全面提升开发效率。 - 即拿即用的二维地图组件与三维场景组件,快速支持全空间二三维 GIS 数据融合与可视化 - 丰富的可视化组件,接入各类可视化库(EchartGL、MapV、D3 等),支持丰富、炫酷的地理大数据可视化表达与分析功能,以及支持单值、分段、统计等二三维客户端专题图功能 - 丰富的工具组件,提供常用的目录树、图层树、交互查询、标注、测量、统计图、打印输出、绘制、多屏联动等工具组件,高效开发应用 - 丰富的分析组件,全面支持二三维 GIS 空间分析、网络分析、地形分析、专业三维分析等功能,大幅提升开发效率 - 提供 CIM 应用组件,包括规划设计、不动产智治、BIM 管理、仿真模拟、综合分析等多类组件 - 提供动态标绘系列组件,实现行业符号资源管理、动态标绘、态势推演等二三维场景一体化管理和联合操作 - 提供多套 UI 主题,支持一键切换主题
组件开发库
MapGIS Client for JavaScript组件开发库

### 组件式开发支持高效扩展   MapGIS Client for JavaScript Vue 组件产品提供的组件预留了供外部组件调用的函数、事件和属性,支持直接复用和封装,具备多级封装、多层复用,高效扩展的能力。 ### 组件式开发构建 SPA 响应式应用    MapGIS Client for JavaScript Vue 组件产品提供的组件支持 SAP 响应式布局,支持多种设备,跨终端、跨浏览器!基于该产品 MapGIS 研发出两款面向响应式应用搭建的产品 MapGIS WebAppBuilder 和 MapGIS MapDataV,具备可视化搭建,适配多设备等特点。 ### 组件式开发构建跨平台跨终端应用     结合 Apache Cordova 、 Electron 等跨平台开发框架,将 MapGIS Client for JavaScript Vue 组件产品开发出来的应用部署为 Web 应用、移动应用、桌面应用,适配 Windows、Linux、Mac、 Android、iOS、Harmony 等 PC 和移动端操作系统。 ## 环境参数 ### 硬件配置 推荐配置 - CPU:酷睿 i5 10400F 及以上 - 内存:16G 及以上 - 显存:独立显卡,显存 6G 及以上(gtx 1060) > 场景的流畅度除了和硬件配置有关外,也和数据量的大小有关,请根据实际情况进行选择。 最低配置 - 需要浏览器支持 webgl。测试当前浏览器对 webgl 的支持情况:webglreport.com ### 浏览器兼容 - 取决于浏览器对 webgl 的支持情况。可以在 caniuse.com上,查看浏览器对 webgl 的支持情况 ### 开发环境 - 前后台混合型项目 IDE 推荐:Microsoft Visual Studio(2015 及以上)、MyEclipse(2019 及以上)等 - 纯前端项目 IDE 推荐:Visual Studio Code、WebStorm 等 ### GIS 环境 ​ 产品融合了多种 GIS 服务标准,提供大量的 GIS 服务组件。开发时,用户可直接使用第三方已发布的 GIS 服务资源,也可以自行构建 GIS 服务器环境,支持如下 MapGIS 服务器产品: - 传统高性能 GIS 服务器平台:提供传统 GIS 相关的地图服务、要素服务、分析服务等。包括MapGIS IGServer 开发版MapGIS IGServer .NET 版MapGIS IGServer Java for Windows 版MapGIS IGServer(九州)版等版本。产品相关安装配置和操作使用手册,请参见司马云-开发世界-资源中心-服务器 GIS; - 大数据 GIS 分析服务器平台:MapGIS IGServer -X,提供矢量、影像、文本等大数据分析服务,产品相关安装配置和操作使用手册,请参见司马云-开发世界-资源中心-云 GIS-MapGIS 大数据与云平台-MapGIS IGServer-X; - 智能 GIS 分析服务器平台:MapGIS IGServer -S,提供智能 GIS 服务,产品相关安装配置和操作使用手册,请参见司马云-开发世界-资源中心-云 GIS-MapGIS 大数据与云平台-MapGIS IGServer-S。 ## 开发授权 ​ 您可以通过访问司马云官方网站获得开发者授权,提供免费云开发授权与硬 KEY 开发授权两种模式,开发者可结合实际应用需求选用。申请免费开发授权请前往帮助中心 - 免费云开发授权需联网完成授权验证。 - 硬 KEY 开发授权,可离线完成授权验证。 ## 开发 SDK ### 开发包     MapGIS Client for JavaScript Vue 组件开发 SDK,含二三维 WebGIS 开发所需的开发库、API、示例、文档等资源,可访问MapGIS Client for JavaScript 产品门户在线体验,或下载资源本地部署。 ### 开发库 | 类型 | 开发库 | 说明 | | :------- | :----------------------------- | :-------------------------------------------------------------------------------- | | Cesium | @mapgis/webclient-vue-cesium | Cesium 的 vue 组件开发库,提供基于 Cesium 的 Web 三维 GIS 应用的 vue 组件开发 | | MapboxGL | @mapgis/webclient-vue-mapboxgl | MapboxGL 的 vue 组件开发库,提供基于 MapboxGL 的 Web 二维 GIS 应用的 vue 组件开发 | | UI | @mapgis/webclient-vue-ui | MapGIS-UI vue 组件开发库,提供 MapGIS UI 组件 | | Plot | @mapgis/webclient-plot | MapGIS 二三维行业标绘组件开发库 | > 核心库分别提供压缩版与开发版,min 版一般在应用开发完成后发布部署阶段使用;二次开发阶段通常使用开发版,方便查阅与调试。 ### API 参考 - MapGIS Client for JavaScript Vue 开发文档(Cesium) - MapGIS Client for JavaScript Vue 开发文档(MapboxGL) - MapGIS Client for JavaScript Vue 开发文档(UI) - MapGIS Client for JavaScript(MapboxGL) API - MapGIS Client for JavaScript(Cesium) API - MapGIS Cesium 内核扩展 API - MapboxGL 原生 API ### 开发示例 - 在线体验:MapGIS Client for JavaScript Vue 组件开发示例 - 离线使用:方式一,可在司马云-云开发世界下载MapGIS Client for JavaScript 开发包,解压后按说明步骤发布即可;方式二,可通过GitHubGitee获取产品源码,按说明文档编译运行。 ## 模块说明 ### MapGIS Client for Javascript Vue(MapBoxGL)
Vue for MapBoxGL
MapGIS Client for Javascript Vue(MapBoxGL)模块图

### MapGIS Client for Javascript Vue(Cesium)
Vue for Cesium
MapGIS Client for Javascript Vue(Cesium)模块图

### MapGIS Client for Javascript Vue(UI)
Vue for Cesium
MapGIS Client for Javascript Vue(UI)模块图

## 产品更新 ### V10.7.4.10 1. 功能新增: - 三维cesium中新增模型开挖功能 2. 功能优化: - 优化三维cesium和二维mapboxgl中的webTileLayer组件 - 优化三维cesium栅格体元绘制功能 ### V10.7.2.10 1. 功能新增: - 二维mapbox中增加WebTileLayer图层组件 - 三维cesium中增加风场可视化组件 2. 功能优化: - 优化三维cesium剖切分析效果 - 优化三维cesium地形分析中的洪水淹没分析效果 - 优化缓冲区分析和叠加分析 ### V10.7.0.10 1. 功能新增: - 二三维支持在线百度和高德地图 - 最小最大地图显示范围设置后需要对视图地图生效 - 三维cesium中增加WebTileLayer图层组件 2. 功能优化: - 修复知识图谱请求报错问题 - 修订视点管理无法对cesium内容截图的bug - 修订二维绘制组件在绘制完毕后触发两次事件的bug ### V10.6.8.10 1. 功能新增: - 洪水淹没支持水面倒影 - 模型爆炸优化 - 三维绘制组件支持绘制圆 - 矢量瓦片制图优化 - 模型压平优化 - 二三维新增要素图层组件 - 支持属性体模型的展示、查询、分析功能 ### V10.6.6.10 - 场景设置新增自适应地表透明 - 三维卷帘组件支持排它卷帘 - 缓冲区分析、叠加分析、拓扑分析支持三维服务(场景服务、模型缓存、3dtiles)。 ### V10.6.4.10 - 卷帘分析三维支持水平卷帘 - 场景漫游支持以绝对高程方式进行场景漫游 - 视频投放增加对指定区域投放功能 - 通视分析增加观察者位置信息 - 缓冲区分析、叠加分析结果增加导出和删除接口 - 维护更新,修复若干 Bug ### V10.6.2.10 1. 功能新增 - 新增知识图谱组件:mapgis-3d-relationship-graph - 新增要素详情组件:mapgis-3d-popup-feature-detail - 新增 MapGIS 要素服务专题图组件:mapgis-3d-igs-feature-layer - 新增三维行业标绘组件:mapgis-3d-plot-layer - 新增三维行业标绘态势推演组件:mapgis-3d-plot-animation - 新增二维行业标绘组件:mapgis-2d-plot - 新增二维态势推演组件:mapgis-2d-plot-animation 2. 功能优化 - mapgis-3d-geojson-layer 组件新增支持传入 Geojson 对象 - mapbox-gl-draw 组件增加绘制过程中撤回最新绘制点功能 - BIM 模型支持编辑、旋转等功能 3. 开发资源完善: - 完善 cesium 和 UI 的组件示例及开发文档 ### V10.6.0.10 1. 功能新增 - 新增三维场景旋转组件:mapgis-3d-rotate - 新增三维导出图片组件:mapgis-3d-output-image - 新增二三维动态标绘系列 UI 组件:包括动画设置组件(Animation)、属性设置组件(Attribute)、文件管理组件(FileManager)、符号库管理组件(PlotSymbol)、推演脚本制作组件(Script)、态势管理组件(ScriptList)、SVG 管理及设置面板(SVGManager、SVGSettingPanel)、态势推演时间轴组件(Timeline)等 2. 功能优化 - 组件 mapgis-3d-m3d-layer 去除 layers 属性,保持该组件针对单个图层的唯一性 - 删除组件 mapgis-3d-m3dset,采取 mapgis-3d-m3d-layer 来替代原来的功能 - 组件 mapgis-3d-g3d-layer 重命名 - 组件 mapgis-3d-file-m3d 重命名 - 组件 mapgis-3d-tileset 重命名 - 解决组件 mapgis-3d-tileset 缺少透明度控制能力 - 解决组件 mapgis-3d-g3d-layer 缺少透明度控制能力 - 优化粒子特效组件 - M3D 加载完毕回调事件重命名 - M3D 新增支持高亮属性 - 重命名 geojson 组件 - 支持 M3D 2.0 图层重命名 - 解决 fMapBoxGL 组件 mapgis-draw 缺少绘制圆半径时的半径值和半径线的显示 3. 性能优化 - 组件剖切分析中新增支持 g3d 组图层和多个 m3d 图层 - 控高分析功能优化面板和逻辑 - 阴影分析结果不支持阴影率的查看 - 场景特效组件冗余 4. 新增多个 cesium 和 UI 的组件示例及开发文档 ### V10.5.6.10 1. 功能新增 - 新增三维统计专题图图层组件:mapgis-3d-graph-theme-layer 组件 - 新增叠加分析组件:mapgis-3d-overlay-analysis 组件 - 新增缓冲分析组件:mapgis-3d-buffer-analysis 组件 - 新增新增标绘图层组件:mapgis-3d-graphic-layer 组件 - 新增单体建筑生长组件:mapgis-3d-building-grow 组件 - 新增城市生长组件:mapgis-3d-city-grow 组件 - 新增场景投放设置组件:mapgis-3d-projector-setting 组件 - 新增场景投放管理组件:mapgis-3d-projector-manager 组件 - 新增 BIM 构件树组件:mapgis-3d-bim-component 组件 - 新增分层分户组件:mapgis-3d-stratified-household 组件 - 新增 MapGIS 三维服务图层组件:mapgis-3d-g3d-layer 组件 - 新增场景设置组件:mapgis-3d-scene-setting 组件 - 新增要素 popup 详情组件:mapgis-3d-feature-popup 组件 - 新增三维单路径漫游组件 - 新增三维漫游路径管理组件 - 新增三维调试组件:mapgis-3d-debug 组件 - 三维量测组件新增贴地面及贴底线功能 - 组件等值线分析中新增等值面分析功能 - 新增装饰组件:mapgis-ui-decoration 组件 - 新增边框组件:mapgis-ui-borderbox 组件 - 新增视频组件:mapgis-ui-video 组件 - 新增颜色选择器组件:mapgis-ui-tab-panel 组件 - 新增 mapgis-ui-color-pick-panel 组件 - 新增数值面板组件:mapgis-ui-input-number-panel 组件 - 废弃 mapgis-3d-m3dset 组件 - 新增 D3 颜色选择器组件 2. 功能优化 - 组件 mapgis-3d-m3d-layer 去除 layers 属性,保持该组件针对单个图层的唯一性 - 删除组件 mapgis-3d-m3dset,采取 mapgis-3d-m3d-layer 来替代原来的功能 - 组件 mapgis-3d-g3d-layer 重命名 - 组件 mapgis-3d-file-m3d 重命名 - 组件 mapgis-3d-tileset 重命名 - 解决组件 mapgis-3d-tileset 缺少透明度控制能力 - 解决组件 mapgis-3d-g3d-layer 缺少透明度控制能力 - 优化粒子特效组件 - M3D 加载完毕回调事件重命名 - M3D 新增支持高亮属性 - 重命名 geojson 组件 - 支持 M3D 2.0 图层重命名 - 解决 fMapBoxGL 组件 mapgis-draw 缺少绘制圆半径时的半径值和半径线的显示 3. 性能优化 - 组件剖切分析中新增支持 g3d 组图层和多个 m3d 图层 - 控高分析功能优化面板和逻辑 - 阴影分析结果不支持阴影率的查看 - 场景特效组件冗余 4. 新增多个 cesium 和 UI 的组件示例及开发文档 ### V10.5.4.10 1. 功能新增 - 新增三维通视分析组件 - 新增三维可视域分析组件 - 新增三维卷帘组件 - 新增三维 MapGIS VectorLayer 组件 - ArcGIS 服务图例组件 - ArcGIS 瓦片组件和地图组件 - 支持 KVP 方式设置图层并调整图层样式 - 支持子图层可见性控制 - 扩展支持交互拉框绘制 - 新增鹰眼组件 - 新增 dynamicTile 实现动态剖切 2. 功能优化 - 优化坡向坡度组件 - 优化测量组件 - 优化标绘组件 - 解决采用 Link 方式时,如果只有一个场景的时候无法向外传输视图事件 - 解决采用 link 的没有指定联动的三维场景并且不知道返回的空间范围 - 解决 popup 的没有强制渲染参数 - 解决 popup 的 visible 参数不支持 v-model 且关闭时没有释放 dom - 解决将瓦片服务中的 srs 修改为 tilingScheme - 解决 VectorTileOptions 的 tilingScheme 目前只支持 Object 类型 - 解决 OGCWMTSLayer 的缺少 Format 参数 - 解决各图层 url 参数不统一 3. 新增多个 cesium 的组件示例及开发文档 ### V10.5.2.10 1. 增加 MapBox Vue 组件,包括: - 控制组件: attribution、geolocate、navagation、scale - UI 组件:marker、popup、绘制、测量 - 图层组件:geojson、vector、raster、image、video、canvas、igs(doclayer、tilelayer、vectorlayer、wms、wmts) - 状态组件:组图层、数据源、专题图、样式库等 2. 增加 Cesium Vue 组件,包括: - 控制组件:state - UI 组件:popup - 图层组件:场景、栅格、影像、igs(doclayer、tilelayer)、3dTile、m3d、mapv - 状态组件:组图层、数据源、专题图、样式库等 3. 新增 mapbox 和 cesium 的组件示例及文档 ### V10.5.0.10 1. 全面整合了脚本库,代码模块化,采用最新的 JavaScript ES6 标准; 2. 采用 Vue、React 框架 ## 第三方依赖 - Vue:是一套用于构建用户界面的渐进式 JavaScript 框架,高效开发(https://cn.vuejs.org/) - MapboxGL:使用 WebGL 技术独立渲染的开源 JavaScript 库,作为前端渲染矢量瓦片交互地图的工具(https://docs.mapbox.com/mapbox-gl-js/api/) - Cesium:用于显示三维地球和地图的开源 JavaScript 库,基于 WebGL 的地图引擎(https://cesium.com/platform/cesiumjs/) - ECharts:基于 JavaScript 的开源可视化图表库(https://echarts.apache.org/zh/index.html) - MapV:地理信息可视化开源库(https://mapv.baidu.com/) - Turf:客户端空间分析开源库(https://turfjs.org/) - D3:基于 Web 标准的 JavaScript 图形可视化库(https://d3js.org/