高德原生搜索高性能方案:基于原生 SDK 实现,无 Web 配额限制;提供全场景 POI 搜索(关键字/周边/沿途/多边形/ID详情);支持输入提示(Autocomplete)与逆地理编码(坐标转地址);提供完整 TypeScript 定义;需依赖核心包或导航包初始化。
Resources
1Install
npx skillscat add tomwq/expo-gaode-map/expo-gaode-map-search Install via the SkillsCat registry.
SKILL.md
原生搜索开发 (Search)
描述
协助开发者使用 expo-gaode-map-search 包进行原生搜索功能的开发。该包直接调用高德原生 SDK 接口,相比 Web API 具有更优的性能且不消耗 Web 服务配额。
使用场景
- 需要搜索 POI(兴趣点),如“附近的加油站”。
- 需要实现搜索框的自动补全(输入提示)。
- 需要将坐标转换为地址(逆地理编码)。
- 需要高性能搜索,无额外网络请求开销。
开发指令
- 依赖:确保已安装任一基础包 (
core或navigation) 并初始化。 - POI 搜索:
- 关键字搜索:
searchPOI - 周边搜索:
searchNearby - 沿途搜索:
searchAlong
- 关键字搜索:
- 辅助功能:
- 输入提示:
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。
🛡️ 类型安全最佳实践
本库提供了完整的 TypeScript 定义,请参考 类型定义文档 了解详情。
核心原则:请勿使用 any,始终导入并使用正确的类型(如 PoiSearchOptions, Poi, InputTip 等)。