Mapbox GL JS v2.2.0 的三大亮点如下:
改进的数据更新性能,浏览器友好支持- 性能提升范围:不仅优化了 Chrome 浏览器,在 Safari 浏览器中,使用 setData(geojson) 更新 GeoJSON 源的性能显著提升。
- 应用场景与效果:能够更频繁地更新包含车辆或资产位置等数据的图层数据呈现。例如,Instacart 利用 Mapbox GL 帮助用户实时跟踪订单,无论用户使用何种浏览器,都能体验到流畅的动画效果。
3D 地形上的高层屋顶优化- 旧版本问题:以前,3D 建筑使用自定义数据在图层上相对于地形进行拉伸,会导致地图显示效果异常。
- 新版本改进:现在,3D 建筑物上的屋顶相对于地球(而非地形)是水平的。即为在地形顶部绘制的所有 fill-extrusion 层绘制了水平屋顶,使 3D 地图在城市道路和建筑场景中有了更好的适配,看起来更加真实。
连续积分(CI)测试模式- 测试便利性:测试模式使开发人员无需访问令牌,即可将 GL JS 包含在自动化测试中。开发人员能够确保完整的测试范围,放心地快速迭代代码,从而向客户交付高质量的应用程序。
- 资源与计费情况:在测试模式下创建的地图不会从 Mapbox 加载资源,也不会触发计费。GL JS API 仍可按预期工作,测试可以在本地加载测试样式和瓦片集。
- 支持的操作:
监听图层上的交互事件,如点击(click)和鼠标悬停(mouseover)。
与标记(Markers)和弹出窗口(Popups)进行交互。
使用 map.queryRenderedFeatures() 查询要素数据。
更新相机中心、缩放级别或方位,并使用 map.easeTo() 和 map.flyTo()。