zhaoxiuhuan 029eb6e78c init 8 달 전
..
assets 029eb6e78c init 8 달 전
components 029eb6e78c init 8 달 전
CHANGELOG.md 029eb6e78c init 8 달 전
README.md 029eb6e78c init 8 달 전
index.css 029eb6e78c init 8 달 전
index.js 029eb6e78c init 8 달 전
package.json 029eb6e78c init 8 달 전

README.md

地图组件2.0版本方案说明

  一、系统背景 为满足视联平台统一坐标系,支持行业应用以及属地化二开团队自定义扩展功能 需求,采用openlayer作为地图组件2.0基础框架进行封装

二、 地图组件2.0介绍

2.1 平台现状 视联平台已发布地图组件1.0,1.0版本依据高德API为基础框架,对外开放统 一JS组件,为行业应用提供地图能力。存在如下问题:

  1. 高德基于火星坐标系开发,对统一坐标系存在难以兼容问题
  2. 地图组件所有类函数封装均采用高德API为模板,在后续与行业应用对接过 程中发现,部分天地图/mapbox等第三方地图功能,出入参数与高德接口差距较大,导致在实际的地图组件开发中,往往需要针对高德、天地图、mapbox均进行兼容改造,工作量重复且效率低下,代码复杂度逐步增加,通用平台代码维护成本越来越高,扩展性较差
  3. 地图组件1.0版本将所有高德函数全部封死在组件中,导致几乎所有行业的地 图需求,均由地图组件承接开发,支持速度慢

2.2 地图组件2.0优化方向

        1.降低地图组件与开源地图耦合依赖:采用openlayer做为地图组件新的基础框架,地图相关功能不再依赖天地图、高德等平台提供的api,仅在数据(经纬度、行政区划、路径规划等)类接口上,通过后端gis服务统一处理,提供统一的出入参处理规则
        2.提升地图组件扩展能力:通过openlayer-ext组件,行业应用可以根据自身需求自定义开发地图功能,不再强依赖地图组件封装库函数,且ext组件的易移植性便于通用平台后续快速沉淀行业能力,基于openlayer组件按照函数类区分,SDK封装上可以通过路由透传,提升SDK封装效率,快速满足需求
        3.  提升地图组件能力:openlayer拥有大量的开源功能,实现上百个类,对GIS中的各种事物拥有更优秀的表达能力,可以显示任何来源加载的地图图块、矢量数据和标记

附:oplayer框架结构

三、地图组件2.0技术实现 1.开发框架:使用rollup框架进行npm组件开发。提供灵活的集成能力,可以使用CDN方式集成和import方式组件化集成。组件使用对象方式对外开发能力,这样具有较强的扩展性和兼容性。 2.原生能力集成:安装具有离线能力的openlayer-gl组件,openlayer的原生功能都是封装在单独的js文件里。组件只需要引入对应功能js,并将功能开放函数根据openlayer原生组件结构集成到开发对象即可集成原生能力。

3.扩展组件能力:根据业务开发扩展封装组件,开发完成后的组件与原生能力一样挂载在开放对象下。 4.第三方组件扩展:第三方组件如openlayer-ext组件框架结构基本与openlayer相同,将openlayer-ext下实现的功能代理挂载在开放对象下。