地图组件2.0版本方案说明
一、系统背景 为满足视联平台统一坐标系,支持行业应用以及属地化二开团队自定义扩展功能 需求,采用openlayer作为地图组件2.0基础框架进行封装
二、 地图组件2.0介绍
2.1 平台现状 视联平台已发布地图组件1.0,1.0版本依据高德API为基础框架,对外开放统 一JS组件,为行业应用提供地图能力。存在如下问题:
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下实现的功能代理挂载在开放对象下。