如何选择
- 各家厂商的经纬度有区别,如果前端和后端使用不同的地图供应商,需要调用各家的经纬度转换接口,如果入口在腾讯相关的软件,默认使用的是腾讯定位,推荐使用腾讯地图
- 前端有比较多效果需要做展示的,建议使用百度地图,有比较完善的api封装,使用比较方便
- 如果原来是百度javascript版升级WebGL,建议同样使用百度地图WebGL版,在使用习惯上看起来没有太大的改变
两者对比区别
下文的对比是腾讯地图WebGL版跟百度地图js版的比较,大家注意别混淆了哈。
腾讯地图GL | 百度地图JS | |
---|---|---|
鹰眼概览组件 | 无 | 有 |
省市区比例尺的快捷选择组件 | 无 | 有 |
点标记 | 按图层的维度进行设置,需要有图层后才能绘制标点 | 点标点是一个独立的对象 |
文本标记设置边框和背景,支持HTML | 否 | 是 |
根据标点数组自适应地图显示级别 | 需要在代码中写上官方额外提供的js代码 | api直接调用根据标点数组自适应地图显示级别 |
路线规划 | 需手动绘制起点和终点标记,路线 | 自动添加起点、终点标记、途径点有"经"标记,且会显示途经点的顺序 |
事件 | 点标记/文本标记等触发事件都是基于图层设置的,如果多个点在一个图层,只在该图层添加一次监听即可 | 触发事件基于某个标记,一个点标记一个事件只会触发一次 |
通过地图对象获取所有覆盖物 | 无,如果需要删除某个覆盖物需要自定义一个变量存储 | 可直接通过地图对象获取所有覆盖物 |
右键菜单 | 无,自己实现 | 可以为地图添加右键菜单 |
绘制 | GL 版的绘图没有drawManager 的工具方法,需使用GeometryEditor 类库,api使用不方便,使用jsapi2版本才有drawManager 库 | 有官方开源工具库drawManager 提供,可以比较方便地绘制图形(GL 版也有) |
webservice API | ||
车辆路线规划 | 每段路线步骤有进入道路的方向(东南西北),没有角度;无每个路段的耗时,需要调用另外一个接口 | 没有方向,有每段路线步骤会有进入道路的角度;有每个路段的耗时 |
总结
感觉腾讯地图的GL
版本的api没有原来的javascriptV2好用,相比来说百度地图的GL
版的API的方法跟之前的javascript API使用上会兼容一点;因为没有实际体验过百度地图的GL版,只是大概看了一些,就没有在对比中进行展示