用途:为 Web 应用集成 Mapbox GL JS 提供官方推荐模式,来源为 Mapbox 的 create-web-app 脚手架工具,强调生产可用的最佳实践。
主要能力:覆盖 React、Vue、Svelte、Angular、Next.js 及原生 JS 的集成模式,包括地图初始化位置、实例存储、清理销毁、Token 管理与 Mapbox Search JS 搜索框集成。
版本要求:Mapbox GL JS 推荐 v3.x(最低 v3.0.0),v2.x 仍支持但已弃用;React 最低 19+,Vue 最低 3.x,Svelte 最低 5+,Angular 最低 19+,Next.js 最低 13.x(App Router)。安装命令为 npm install mapbox-gl@^3.0.0。搜索需安装 @mapbox/search-js-react@^1.0.0 或 @mapbox/search-js-web@^1.0.0。
核心原则:在正确的生命周期钩子中初始化地图;将实例存入组件状态而非每次渲染重建;清理时始终调用 map.remove() 防止内存泄漏;通过环境变量安全管理 Token;导入 import 'mapbox-gl/dist/mapbox-gl.css'。
使用方式:各框架有对应模式,如 React 用 useRef + useEffect 并返回清理函数,Vue 用 mounted/unmounted,Svelte 用 onMount/onDestroy,Angular 用 ngOnInit/ngOnDestroy 并处理 SSR。Token 按构建器使用 VITE_、NEXT_PUBLIC_、REACT_APP_ 等前缀访问,且不应提交 .env 文件。搜索框支持 accessToken、map、mapboxgl、proximity、marker 等配置。
限制:CDN 方式仅限原型,生产建议使用 npm 以锁定版本并支持离线构建。资料未提供具体收费与价格信息。