去年 11 月份我们发布了 JSAPI 2.0 第一个 Beta 版,又经过数月的雕琢,JSAPI 2.0 正式版本终于和大家见面了。地图 JSAPI 2.0 是使用 WebGL 技术打造的高德第四代 WEB 地图渲染引擎,采用众多先进技术和优化手段,不论是视觉体验、交互体验、开发体验,还是 API 自身的开发能力和开发支持,均有质的提升。
首先,与高德客户端同款的视觉配色,使得各类地图要素层次分类更加清晰,识别度大幅提升;全新矢量文字绘制技术使得地图标注更加清晰;天级数据更新保证了地图信息的时效性。
JSAPI 2.0 经过了数据生产工艺、数据服务、资源传输、前端解析、图形渲染、交互动画等全链路多方位的技术升级和优化,达到了前所未有的高效渲染和流畅体验。
JSAPI 2.0对所有常用覆盖物、图层的创建和绘制进行了深入的性能优化,各项性能指标均取得了大幅提升:
v1.4 | v2.0 | 提升率 | |
---|---|---|---|
500 个 普通Marker 创建耗时 | 1.01s | 60ms | 1580% |
普通 Marker 流畅绘制数量上限 | 500 | 1000 | 100% |
文字标注 流畅绘制数量上限 | 500 | 30000 | 5400% |
图标标注 流畅绘制数量上限 | 3000 | 30000 | 900% |
5000个 Polyline/Polygon 创建耗时 | 19s | 915ms | 1970% |
5000个 Polyline/Polygon 绘制帧数 | 10 FPS | 30FPS | 200% |
30万 点聚合计算耗时 | 3.9s | 950ms | 310% |
LabelMarker:支持避让的高性能图标与文字标注
海量点聚合:更高效的聚合计算
同时,为了满足更多业务场景的个性开发需求,JSAPI 2.0 扩展了丰富的开发接口和众多全新特性:
zooms:[2,20]:地图最小级别放开至2级,获得更大的世界显示范围,满足全球化展示需求;最大级别放开至20级,满足街区级、室内级精细数据展示:
标准GeoJSON支持:支持 MultiPolygon、MultiPolyline等复杂组合地图要素的绘制与事件交互。
矢量覆盖物编辑器:支持从零创建,同时支持切换当前编辑对象,多边形编辑器还新增了吸附编辑的能力。
轨迹动画功能:接口设定与事件机制更加符合车辆轨迹监控与回放等业务场景。
LabelMarker避让:LabelMarker内置避让算法,同时支持自定义LabelMarker与地图主图标注、图标相互避让。
我们新推出了官方 JSAPI 加载器,支持 Browser 和 NPM 两种使用方式,在方便开发的同时,可有效避免异步引入、重复引入等使用方式带来的错误;同时在 github 发布了 JSAPI 的 TypeScript 声明项目,如果使用TS 进行开发,开发过程中可以享受到接口提示、参数类型提示等众多便利。另外我们准备了全新的参考手册供您查阅相关接口。
对于开发者十分关心的兼容性问题,本着对开发者负责的一贯宗旨,JSAPI 2.0 在全面采用 WebGL 渲染进行 GPU 渲染加速的前提下,依然保证了全部基础功能的 IE9 兼容性;同时保持了移动端的良好兼容性;99% 以上的接口和 1.4 版本保持一致,只需要少许代码改动就可以享受到新版本的极佳特性。另外我们提供了 Adaptor——版本适配器插件帮助您实现最低成本的升级迁移。
关于地图 JSAPI 2.0 的更多说明请查看官网文档及示例中心。