原生搜索开发 (Search)
描述
协助开发者使用 expo-gaode-map-search 包进行原生搜索功能的开发。该包直接调用高德原生 SDK 接口,相比 Web API 具有更优的性能且不消耗 Web 服务配额。
使用场景
- •需要搜索 POI(兴趣点),如“附近的加油站”。
- •需要实现搜索框的自动补全(输入提示)。
- •需要将坐标转换为地址(逆地理编码)。
- •需要高性能搜索,无额外网络请求开销。
指令
- •依赖:确保已安装任一基础包 (
core或navigation) 并初始化。 - •POI 搜索:
- •关键字搜索:
searchPOI - •周边搜索:
searchNearby - •沿途搜索:
searchAlong
- •关键字搜索:
- •辅助功能:
- •输入提示:
getInputTips - •逆地理:
reGeocode
- •输入提示:
快速模式
✅ 正确:在搜索前初始化
ts
import { initSearch } from 'expo-gaode-map-search';
// 可选:提前调用以检测 API Key 配置问题
initSearch();
✅ 正确:使用城市编码提高准确性
ts
// 相比使用 "北京",使用 "010" 能更准确地锁定区域
const result = await searchPOI({
keyword: '银行',
city: '010'
});
❌ 错误:不处理搜索空结果
搜索可能返回 0 个结果或抛出异常(如网络问题、API Key 无效),务必使用 try-catch 并检查 result.pois.length。
🛡️ 类型安全最佳实践
本库提供了完整的 TypeScript 定义,请参考 类型定义文档 了解详情。
核心原则:请勿使用 any,始终导入并使用正确的类型(如 PoiSearchOptions, Poi, InputTip 等)。