Nearby Places Search 是一个使用 Google Places API(New)搜索附近地点的技能,需要 GOOGLE_PLACES_API_KEY 环境变量。
用途 当用户请求查找某个位置附近的实体地点时,应使用该技能而非网页搜索。它适用于全球任意地点(例如 "Hilton Saigon"、"London"、"Times Square"),会自动对地址和地标名称进行地理编码。
主要能力
- 按地点类型与位置进行实时地点搜索。
- 自动地理编码地址和地标名称。
- 支持可选的搜索半径设置,请求的边界会被遵守。
- 结果按精确距离过滤后再排序,包括自由文本搜索;无有效坐标的条目会被省略。
- 短地点名称(不含长度超过两个字符的词元)会跳过内存缓存并使用地理编码。
- 输出 JSON 对象,data.results 中每个结果包含 response.data.places,地点条目含 displayName.text、formattedAddress、googleMapsUrl,以及可选的 rating 和 priceLevel。
使用方式 以位置参数运行脚本:
python3 "$SKILL_DIR/scripts/search_places.py" "<query>" "<location>" [--radius_meters <int>]
$SKILL_DIR 表示该技能安装后的目录。若智能体未自动设置该变量,请在运行命令前替换为 nearby-places-search 目录的路径。
参数:
- query:要搜索的地点类型(如 "coffee shop"、"restaurant"、"ATM")。
- location:地址或地点名称(如 "London"、"Times Square")。
- --radius_meters(可选):搜索半径,单位米(1–50000),默认 1000;请求的边界会被遵守。
示例: python3 "$SKILL_DIR/scripts/search_places.py" "coffee shop" "London" python3 "$SKILL_DIR/scripts/search_places.py" "restaurant" "Times Square" --radius_meters 500
结果呈现 运行脚本后,以简洁编号列表的形式呈现结果(只呈现一次):
Here are [type] near [location]:
- Name — Address (price) ⭐ rating — Maps
- Name — Address (price) ⭐ rating — Maps
价格等级:PRICE_LEVEL_FREE = free,PRICE_LEVEL_INEXPENSIVE = $,PRICE_LEVEL_MODERATE = $$,PRICE_LEVEL_EXPENSIVE = $$$,PRICE_LEVEL_VERY_EXPENSIVE = $$$$。不存在时省略。评分不存在时省略。始终包含 Google Maps 链接,因为每个地点都有 googleMapsUrl 字段。不要在列表后重复列表或追加第二段总结。
适用场景 适用于用户需要查找某地址或地标附近的实体地点、商家或场所(如咖啡馆、餐厅、ATM)的场合,且需要按距离排序并附地图链接。
限制
- 需要 GOOGLE_PLACES_API_KEY 环境变量,未提供时无法使用。
- 搜索半径限定在 1–50000 米。
- 关于费用、配额、可用平台和性能等细节暂未提供。
前置条件 必须将 GOOGLE_PLACES_API_KEY 设置为环境变量。