近期,蜂鸟视图蜂鸟云开发者中心正式更新了 JavaScript SDK v3.1.8 和 微信小程序 SDK v3.1.8,并同步上线了相应的示例。此次更新的主要亮点是:从原先的 ES5 版本 迁移至 ES6 版本 SDK,带来了更小的包体和更高的性能。用户可通过新的 SDK 更高效地进行地图开发与管理。在线示例也已同步更新为 ES6 版本,查看时建议清除浏览器缓存以确保最佳体验。
此外,更新内容已上传至 Confluence,如有需要,用户可以自行下载不同版本的 SDK 文件。
主要更新内容
1. JavaScript SDK v3.1.8
新增功能:
1. fengmap.FMCalculator.angle(line)
用于计算正北方向线顺时针转到该直线的角度。
2. fengmap.FMCalculator.intersection(segment1, segment2)
用于计算两条线段的交点,以满足在交点位置增加判断、提醒等业务逻辑需求。
3. fengmap.FMCalculator.lineBufferBuilder(points, options)
用于计算一条线段的缓冲区,以实现路线周边元素的查询。
4. FMBuilding getFloorSpace() 与 setFloorSpace(options)
新增两个方法,用于获取和设置带动画效果的楼层间距调整。
5. FMLocationMarker.moveTo(options)
增加 height 参数,使定位标注既可以水平方向移动,又可以在垂直方向上移动。
6. FMDynamicModel.moveTo(options)
新增 height 参数,使动态模型既能水平移动,也可垂直移动。
7. FMDynamicModel.getNodeNames()
新增方法,可与 modifyModelColor(color, name) 配合使用,实现红绿灯动态变色等需求。
8. FMLineMarker.isGeneralize
新增 isGeneralize 参数,开启后可使 lineMarker 在地图缩小时自动简化,提升显示效果。
9. FMTracksPlayer.setTrackStyle(options)
新增 isGeneralize 参数,支持轨迹线在缩小时自动简化,提升显示效果。
优化与修复:
1. addCondition(type) 方法优化
针对有换行符(%rn%)的地图数据进行优化,避免换行符中的部分被误认为是关键字进行查询。
2. FMMap.options 中的 lokedLight 优化
默认值改为 true,使得灯光位置(明亮面)随视图旋转而变化,从而提升整体地图场景渲染效果。
3. FMMap.setFloorSpace 方法优化
支持带动画的地图楼层间距调整。
4. FMLineMarker 点击与显示效果优化
优化了 FMLineMarker 的点击交互效果和显示效果。
5. route(request, success, failed) 方法优化
新增 turnCost 参数,允许用户自定义转弯额外代价倍数系数,避免规划结果中出现多次转弯。
6. getState() 与 setState(state, options) 方法优化
使其兼容室内外一体化场景的状态变化,提升多场景应用的适应性。
7. 三方底图在手机端的显示效果优化
降低性能消耗,提高手机端地图加载的效率和流畅度。
8. 修复多个问题
• 解决了 FMDomMarker 与发光特效的冲突问题。
• 修复了 vue 中添加热力图时报错的问题。
• 解决了多楼层场景中添加水波纹时报错的问题。
• 修复了回字形地图数据渲染问题。
• 修复了室内外一体化场景中子地图基准层非最底层时,子地图点击事件无法触发的问题。
2. 微信小程序 SDK v3.1.8
新增功能:
1. fengmap.FMWXSetting.boundingClientRect 接口
当地图画布非全屏时设置该接口,以避免点击返回坐标存在偏差。
2. addCondition(type)
新增线缓冲区查询,常用于根据线和缓冲区半径查询线周边信息。
3. FMNavigationWalk 和 FMNavigationDrive 新增 locationMarker 参数
支持用动态模型模拟定位点,进一步增强了模拟导航功能。
4. fengmap.FMCalculator.angle(line)
与 JavaScript SDK 一致,新增该方法来计算正北方向与线的夹角。
5. fengmap.FMCalculator.intersection(segment1, segment2)
新增方法,用于计算两条线段的交点,以满足在交点位置增加判断、提醒等业务逻辑的需求。
6. fengmap.FMCalculator.lineBufferBuilder(points, options)
与 JavaScript SDK 一致,新增该方法用于计算一条线段的缓冲区。
7. FMBuilding.getFloorSpace() 与 setFloorSpace(options)
新增两个方法,用于获取和设置带动画效果的楼层间距调整。
8. FMLocationMarker.moveTo(options)
增加 height 参数,使定位标注可以在水平方向和垂直方向上移动。
9. FMDynamicModel.moveTo(options)
同 JavaScript SDK,新增 height 参数,使动态模型既可以水平移动,也可以垂直移动。
10. FMDynamicModel.getNodeNames()
新增方法,可与 modifyModelColor(color, name) 配合使用,实现红绿灯动态变色等需求。
11. FMLineMarker.isGeneralize
新增 isGeneralize 参数,开启后可使 lineMarker 在地图缩小时自动简化,提升显示效果。
优化与修复:
1. dispose(callback) 优化
增加了完成回调函数的支持。
2. route(request, success, failed) 方法优化
同 JavaScript SDK,新增 turnCost 参数,避免多次转弯的情况。
3. FMSearchAnalyser 修复
支持不传 map 对象,通过 mapID、appName、key 创建成功的问题。
4. progress 事件优化
优化了 progress 事件,使其内部包含 loaded、externalFirstLoaded 等相关事件。
5. FMLineMarker 拐角位置显示效果优化
改进了 FMLineMarker 的拐角位置显示效果,使其更加清晰和自然。
总结
此次更新为 蜂鸟云 JS SDK v3.1.8 和 微信小程序 SDK v3.1.8 带来了多项增强和优化,特别是在地图计算、动态模型控制、路径规划等功能上进行了一系列的更新。这些新功能不仅能有效提升开发者的工作效率,还能提供更加精准和流畅的地图体验。
开发者可通过 Confluence 下载不同版本的 SDK,体验新的功能与修复,提升开发效率和用户体验。
关键词: 蜂鸟云 SDK, JavaScript SDK, 微信小程序 SDK, 地图开发, ES6 SDK, 路径规划, 动态模型