skills/tomwq/expo-gaode-map/expo-gaode-map-search

expo-gaode-map-search

SKILL.md

原生搜索开发 (Search)

描述

协助开发者使用 expo-gaode-map-search 包进行原生搜索功能的开发。该包直接调用高德原生 SDK 接口,相比 Web API 具有更优的性能且不消耗 Web 服务配额。

使用场景

  • 需要搜索 POI(兴趣点),如“附近的加油站”。
  • 需要实现搜索框的自动补全(输入提示)。
  • 需要将坐标转换为地址(逆地理编码)。
  • 需要高性能搜索,无额外网络请求开销。

开发指令

  1. 依赖:确保已安装任一基础包 (corenavigation) 并完成 Key 配置。
    • 如果通过基础包调用 initSDK() 传 key,则也要先完成隐私确认。
    • 如果基础包已经通过 Config Plugin 注入了原生 key,可以直接 initSearch() 做配置检查。
  2. POI 搜索
    • 关键字搜索:searchPOI
    • 周边搜索:searchNearby
    • 沿途搜索:searchAlong
  3. 辅助功能
    • 输入提示:getInputTips
    • 逆地理:reGeocode

快速模式

✅ 正确:在搜索前初始化

import { initSearch } from 'expo-gaode-map-search';

// 可选:提前调用以检测 API Key 配置问题
initSearch();

✅ 正确:使用城市编码提高准确性

// 相比使用 "北京",使用 "010" 能更准确地锁定区域
const result = await searchPOI({
  keyword: '银行',
  city: '010'
});

❌ 错误:不处理搜索空结果

搜索可能返回 0 个结果或抛出异常(如网络问题、API Key 无效),务必使用 try-catch 并检查 result.pois.length

升级提示

如果你的项目在基础包中仍使用 initSDK() 传入 key,那么升级后请先补上隐私确认流程;否则初始化阶段可能先失败,而不是进入搜索逻辑。

🛡️ 类型安全最佳实践

本库提供了完整的 TypeScript 定义,请参考 类型定义文档 了解详情。

核心原则:请勿使用 any,始终导入并使用正确的类型(如 PoiSearchOptions, Poi, InputTip 等)。

参考文档

Weekly Installs
10
GitHub Stars
59
First Seen
Feb 9, 2026
Installed on
openclaw10
gemini-cli9
github-copilot9
codex9
kimi-cli9
cursor9