## MapGIS Client for JavaScript(MapboxGL)产品介绍     MapGIS Client for JavaScript(MapboxGL)是一套基于 MapboxGL 的云 GIS 网络客户端开发平台,无缝对接 MapGIS 云存储、云 GIS 服务器与云应用产品,能有效集成云端的地图、服务与资源,提供全面的 WebGIS 开发应用能力,支持高效地图可视化与分析应用功能,增强了大数据、实时流数据的高效可视化表达和分析功能。该套 SDK 中集成了 MapboxGL 原生接口和 MapGIS 扩展接口,覆盖地图显示、数据管理、查询、编辑、统计、专题图、可视化、标绘、分析等全 WebGIS 功能,极大的丰富了 SDK 的功能和应用场景,可帮助您快速构建 WebGIS 应用。
MapGIS Client for JavaScript(MapboxGL)各个库之间依赖关系
MapGIS Client for JavaScript(MapboxGL)各个之间依赖关系
> MapGIS Client for JavaScript (MapboxGL) SDK 包含了 WebGIS 开发所需的开发库、API、示例等,结合司马云开发世界资源中心的配套开发资源,以及云听社区、开源社区GitHubGitee,助力开发者高效开发。 ### MapboxGL 地图框架     MapboxGLJS(mapbox-gl.js )是 Mapbox(即数字地图初创企业,成立于 2010 年,旨在为企业提供一系列 GIS 工具)提供的一个开源 JavaScript 库,使用 WebGL 渲染交互式矢量瓦片地图和栅格瓦片地图。WebGL 渲染意味着高性能,MapboxGL 能够渲染大量的地图要素,拥有流畅的交互以及动画效果、可以显示立体地图并且支持移动端,是一款十分优秀的 WebGIS 开发框架。mapbox-gl.js 作为前端渲染矢量瓦片交互地图的工具,支持 Mapbox Style 样式设置,这是它最为吸引人的特性之一。需要注意的是,mapbox-gl.js 是使用 WebGL 技术独立渲染前端库,浏览器必须支持 WebGL 渲染。 > 详情请参考Mapbox-GL 官网地址 ### 主流地图库特点 - Mapbox-GL:基于 WebGL 独立渲染的开源二维地图库,其推出的矢量瓦片可视化效果和性能都很出众,标准被业内认可; - Leaflet:一款比较成熟的轻量级开源二维地图库,小而精悍,体验好,实践多、社区活跃、插件非常丰富,Mapbox 早期的地图库就是基于 Leaflet 开发; - OpenLayers:一套比较老牌和体系比较成熟的开源二维地图库,功能丰富且稳定,业内广泛使用,浏览器兼容好(兼容 IE6 及以上版本浏览器); ## 产品下载     MapGIS Client for JavaScript 可从司马云-云开发世界下载正式发布的产品离线资源包,通过 NPM 包方式引入产品开发库: - MapGIS 官方下载地址:http://smaryun.com/dev/download_detail.html#/download828 - MapGIS 相关 NPM 包资源地址:https://www.npmjs.com/org/mapgis ## 环境参数 ### 硬件配置 推荐配置 - 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(MapboxGL) SDK,含 WebGIS 开发所需的开发库、API、示例、文档等资源,可访问MapGIS Client for JavaScript 产品门户在线体验,或下载资源本地部署。 ### 开发库 | 开发库 | 说明 | | :-------------------------------- | :----------------------------------------------------------- | | @mapgis/webclient-mapboxgl-plugin | MapboxGL 插件库,在插件层实现地图引擎和逻辑层的适配。
1、提供Mapboxgl引擎对于二三维通用模块的实现。
2、提供Mapboxgl引擎对控件、工具的实际渲染功能。
3、提供统一的视图对象操作地图。
4、提供其他适合Mapboxgl插件层实现的功能。
| | @mapgis/mapbox-gl | 地图引擎库,提供 MapboxGL 引擎基础功能 | | @mapgis/webclient-common | 公用 JS 库。
1、提供基础对象接口的定义。
2、提供 IGS 等服务接口的封装。
3、提供地图(场景)管理接口的定义。
4、提供草图编辑、空间分析、专题图、行业标绘、视频调绘,以及其它与引擎无关的功能。 | > 核心库分别提供ES5压缩版(webclient-mapboxgl-plugin.min.js)与ES6压缩版(webclient-mapboxgl-plugin-es6.min.js)两个版本。 ### API 参考 - MapGIS Client for JavaScript(MapboxGL) API - MapboxGL API ### 开发示例     MapGIS Client for JavaScript(MapboxGL)为用户提供了功能全面的接口示例与配套文档,支持离在线访问,源码与效果可共同展现,同时提供即时编辑与运行功能,可以帮助您进行高效开发。 - 在线使用:MapGIS Client for JavaScript (MapboxGL)示例 - 离线使用: 方式一,可在云开发世界下载MapGIS Client for JavaScript 开发包,解压后按说明步骤发布即可; 方式二,可通过GitHubGitee获取产品源码,按说明文档编译运行。 ## 模块说明     MapGIS Client for JavaScript(MapboxGL)包括Mapboxgl二维地图引擎包含Mapboxgl及其插件库。Mapboxgl提供 地图引擎基础功能以及扩展功能。插件层实现地图引擎和逻辑层的适配,在插件层中会封装一个统一的视图对象。 ### API 功能体系
MapGIS Client for JavaScript(MapboxGL)功能体系
MapGIS Client for JavaScript(MapboxGL)功能体系

### API 结构说明
webclient-mapboxgl-plugin API结构
注:结构图中蓝色字体为命名空间名,黑色字体为类名。第一级结构为模块说明及所属命名空间。

webclient-mapboxgl-plugin API结构
webclient-mapboxgl API结构
webclient-mapboxgl API结构

## 版本说明 ### V10.7.4.10 **webclient-mapboxgl-plugin** 1. 功能新增 - 此版本无更新 2. 功能优化 - 此版本无更新 3. API接口变更 - 此版无变更 **webclient-mapboxgl** 1. 功能新增 - 此版本无更新 2. 功能优化 - 优化GeoJSONSource序列化时的问题 - 优化错级瓦片服务在一定层级显示效果漂浮的问题 3. API接口变更 - 此版无变更 ### V10.7.2.10 **webclient-mapboxgl-plugin** 1. 功能新增 - 支持相同空间参考系支持不同裁图方式瓦片图层的叠加显示 - ArcGIS地图服务图层支持出一张图模式 - 图层支持裁剪功能 - 支持SimpleFillSymbol支持简单填充设置样式 - 支持ArcGIS瓦片图层 2. 功能优化 - 优化矢量瓦片加载效果 3. API接口变更 webclient-mapboxgl-plugin 接口变更表 4. 新增示例 - WMS-混合接口 - WMTS-混合接口 - WFS-混合接口 - MapGIS地图图片图层-混合开发 - ArcGIS地图图片图层-混合开发 - MapGIS瓦片图层-混合开发 - ArcGIS瓦片图层-混合开发 - 网络瓦片图层-混合开发 - MapGIS要素图层-混合开发 - GeoJSON图层-混合开发 - MapGIS矢量瓦片-混合开发 - ArcGIS矢量瓦片-混合开发 - 几何图层-混合开发 - 图层列表 **webclient-mapboxgl** 1. 功能新增 - 矢量瓦片支持多区、带洞区裁剪 - 支持相同空间参考系支持不同裁图方式瓦片图层的叠加显示 ### V10.7.0.10 **webclient-mapboxgl-plugin** 1. 功能新增 - 二维Mapboxgl插件适配草图编辑模块功能 - 二维Mapboxgl插件实现统一、单值、分段、等级、聚合专题图 2. API接口变更 webclient-mapboxgl-plugin 接口变更表 **webclient-mapboxgl** 1. 功能新增 - 支持非二次幂的裁图方式矢量瓦片的加载 ### V10.6.8.10 - 维护更新,修复若干 Bug ### V10.6.6.10 - 引擎库新增自定义坐标系(如高斯)数据和服务(含矢量瓦片)的接入功能 ### V10.6.4.10 - 维护更新,修复若干 Bug ### V10.6.2.10 - 新增接入离线 TMS 的高德(GCJ02)地图 - 新增接入离线百度(BD09)地图 - 新增接入 Google(GCJ02)地图 - 新增行业标绘功能:支持基础、军事两类符号的交互式编辑,支持属性、生长、显隐、闪烁、路径、比例等动画类型,支持态势编辑、管理、推演等功能 - 维护更新,修复若干 Bug ### V10.6.0.10 - 维护更新,修复若干 Bug ### V10.5.6.10 - 维护更新,修复若干 Bug ### V10.5.4.10 - 维护更新,修复若干 Bug ### V10.5.2.10 1. 功能新增 - 新增直接支持 ArcGIS 地图服务与 OGC 服务; - 新增 PostGIS 支持,可实现基于 PostGIS 的数据查询统计、实时矢量瓦片等功能; - 新增支持 ElasticSearch 的分布式大数据搜索与分析能力,可实现热力分析、聚类分析等功能。 2. 性能优化-无 3. 站点维护 - 示例说明文档美化 ### V10.5.0.10 1. 全面整合了 MapboxGL 等脚本库,代码模块化,采用最新的 JavaScript ES6 标准; 2. 提供 MapboxGL 开发库、示例、API,支持基于 MapboxGL 的二维数据可视化(含 OGC、MapGIS 地图服务、第三方地图服务等)、量算、查询编辑、空间分析、专题图,以及大数据可视化与分析等功能; 3. 新增集成 Echarts、Echarts GI、MapV 可视化库,支持在 Web 三维模式下实现大数据可视化、大数据分析功能; 4. 新增集成 Turf.js 客户端空间分析库,提供客户端空间计算能力,支持实现在客户端层的空间分析、拓扑分析、空间关系计算等功能; 5. MapboxGL 示例全面优化,提供配套示例说明文档与 API。 ## 第三方依赖 - MapboxGL:使用 WebGL 技术独立渲染的开源 JavaScript 库,作为前端渲染矢量瓦片交互地图的工具(https://docs.mapbox.com/mapbox-gl-js/api/) - ElasticSearch:分布式搜索与分析引擎(https://www.elastic.co/cn/) - PostGIS:是 PostgreSQL 的扩展,遵循 OpenGIS 的规范,提供空间信息服务功能-空间对象、空间索引、空间操作函数和空间操作符(http://postgis.net/) - ECharts:基于 JavaScript 的开源可视化图表库(https://echarts.apache.org/zh/index.html) - MapV:地理信息可视化开源库(https://mapv.baidu.com/) - Turf:客户端空间分析开源库(https://turfjs.org/) - D3:基于 Web 标准的 JavaScript 图形可视化库(https://d3js.org/