Mapbox GL JS 3.25.0 现已发布,此版本更新内容包括:
Breaking changes
- 将 ESM entry point 切换为命名导出(
import * as mapboxgl from 'mapbox-gl/esm'),以便现代打包工具能够移除少量未使用的代码。将mapboxgl.accessToken替换为MapaccessToken选项。虽然大部分打包内容仍然无法静态删除,但此版本也改进了运行时代码的延迟加载,后续还将推出更多改进。
Features and improvements
- 扩展
MapgetLayerProperty和setLayerProperty并支持层级属性 (minzoom, maxzoom, filter, slot, appearances)
- 扩展
TileProviderAPI 使其支持raster和raster-demprovider使用ImageBitmap。
- 提高模型加载和渲染性能。
- 提高符号渲染性能。
- 提高 vector tiles 和其他 protobuf 编码资源的解码和编码性能。
- 提高颜色解析性能,略微缩短具有许多颜色值的样式的加载时间。
- 提取室内部分模型渲染代码,以便在使用 ESM entry point 时按需加载。
- 为 GeolocateControl 添加 ready 事件,并新增 setShowAccuracyCircle、setShowUserHeading、setFitBoundsOptions、setShowUserLocation 方法。
- 为 KeyboardHandler 添加 disablePan/enablePan 方法。
- 为 DragRotateHandler 添加 disablePitch/enablePitch 方法。
- 为 TouchZoomRotateHandler 添加 disableTapDragZoom/enableTapDragZoom 方法。
- 将 Map 类的 setLanguage、getLanguage、setWorldview、getWorldview 方法设为稳定的公共方法(此前为私有)。
- 从
package.json中移除所有直接依赖项,以略微减小 NPM 安装的大小和时间。
- 改进带边框线条的抗锯齿效果。
- 实现常规道路数据和高清道路数据的自动合并,为未来 Mapbox Standard 的更新做好准备。
错误修复
- 修复了有时会出现黑框而不是符号图标的问题。
- 修复了高架道路图块边界的精度问题。
- 修复堆叠式地下道路的渲染问题。
- 修复与来自不受信任的样式或图块的对象原型污染相关的轻微漏洞。
- 修复 Standard style 中的
Cutoff is currently disabled on terrain警告。
- 修复外观条件验证,使其能够接受复合表达式。
- 修复通过
model-line-cutout-mode属性实现模型抠图淡入淡出的问题。
- 修复符号图层步长表达式求值的问题。
- 修复自定义图层渲染与 data-driven
line-emissive-strength并行渲染时出现的问题。
更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.25.0