用途:提供 Mapbox Maps SDK v11 在 iOS(Swift、SwiftUI、UIKit)上的官方集成模式,适用于安装配置 SDK、添加标注、显示用户位置并跟随、加载 GeoJSON 自定义数据、使用地图样式与相机控制、处理要素交互与点击。
环境要求:iOS 14+、Xcode 15+、Swift 5.9+、免费 Mapbox 账号。先在 Info.plist 配置公钥令牌:<key>MBXAccessToken</key><string>pk.your_mapbox_token_here</string>;再通过 Swift Package 添加 https://github.com/mapbox/mapbox-maps-ios.git,版本从 11.0.0 起(Up to Next Major),应出现 MapboxCommon、MapboxCoreMaps、MapboxMaps、Turf 四个依赖,也可用 CocoaPods 或直接下载。
主要能力:SwiftUI 用 Map(viewport:) 配合 .mapStyle(.standard) 初始化;UIKit 用 MapView(frame:mapInitOptions:) 并调用 mapView.mapboxMap.loadStyle(.standard)。标注分三类:Marker(SwiftUI,需 @_spi(Experimental),适合少于约 100 个)、PointAnnotation(自定义图片,基于符号图层,可扩展至数百)、View annotations(MapViewAnnotation/mapView.viewAnnotations,渲染原生视图)。数百至数千要素应改用 GeoJSONSource + SymbolLayer,并支持聚合。用户定位需在 Info.plist 添加 NSLocationWhenInUseUsageDescription,再用 CLLocationManager 请求权限并设置 puckType。
最佳实践与限制:复用标注管理器、批量更新标注、闭包用 weak self 并在 deinit 取消订阅、优先使用 .standard 样式、限制视口内标注数量、避免频繁重载样式。常见问题:地图不显示检查令牌、框架导入、视图层级与约束;样式未加载用 onStyleLoaded 观察。更深入的标注、定位、自定义数据、相机样式与交互可查阅 references 下的对应文档。原文未提供价格与具体收费信息。