Install
openclaw skills install baidu-map-ios-sdk百度地图 iOS SDK 与 BMKLocationKit 集成与开发规范。覆盖地图、定位、步骑行导航、检索、路线、标注与覆盖物;输出专业地图方案。可快捷使用百度地图 SDK 的能力与数据,构建功能丰富、交互性强的专业地图类应用。
openclaw skills install baidu-map-ios-sdk满足其一即启用本技能:
按需加载:先根据需求在 reference.md 中选定文档,再引用对应 references 内容;需求含糊时先向用户澄清再给方案。
pod install → 使用生成的 .xcworkspace 打开),在能正确导入 SDK 头文件之后再编写调用地图/定位/检索等的代码。这样既避免使用 #if __has_include(...) 做条件编译,也能以实际 SDK 头文件为准写代码,减少接口不一致或编译错误。AK 与 Bundle 主动提示
在编写或集成使用地图/定位 SDK 的代码时,主动提示开发者:
PRODUCT_BUNDLE_IDENTIFIER 一致;AppDelegate 中的 key、或说明需在控制台配置),并注明「将 YOUR_AK 替换为实际 AK」。代码写完自动执行编译修复,编译无误后停止
完成与百度地图/定位相关的代码修改后,必须按以下流程执行,不得在编译未通过时结束:
xcodebuild -workspace xxx.xcworkspace -scheme xxx -destination 'generic/platform=iOS' build(或等价命令;CocoaPods 工程用 workspace,纯工程用 project)。配置 Launch Screen 避免 App 非全屏
集成地图或涉及全屏展示时,必须确保工程已配置 Launch Screen,避免运行后出现黑边、非全屏。具体见 project-config.md「窗口初始化/Launch Screen」:
LaunchScreen;隐私与配置
[BMKMapManager setAgreePrivacy:YES](类方法,勿用 sharedInstance;未同意时检索可返回 nil)。坐标系
标注与几何(必须遵守)
assets/images/)提供的纹理图(如 icon_car、car_triangle、track_car);仅当无可用纹理时,才使用纯色或自绘图片。步骑行:按需求区分两种方案
版本与 API 以本地为准(与上文「集成与编码顺序」一致)
#if __has_include,直接导入头文件后写代码。Logo 不可遮挡与路线视野适配(必须考虑)
setMapPadding 预留边界(如顶部预留检索面板、底部预留 barH+4),使 Logo 落在可见内容区内。详见 ui-standards.md「地图 Logo、指南针与 mapPadding」。fitVisibleMapRect:edgePadding:withAnimated: 做视野适配,edgePadding 按 ui-standards.md「路线视野适配」预留(顶部检索面板+50+marker、底部底部栏+20+marker、左右 50+marker 等),避免路线或起终点被裁切或被 UI 遮挡。mapPadding 与 fitVisibleMapRect 的 edgePadding 分开使用,勿混用。给出方案时需满足:
方案结构:需求 → 对应文档 → 配置与依赖(含 AK/Bundle、Launch Screen)→ 关键 API → 示例片段 → 注意事项(含 Logo/路线视野、Marker 优先)。