GoogleMapTools 使 Agent 能够与各种 Google Maps 服务进行交互,以执行基于位置的操作,包括地点搜索、路线、地理编码等更多功能。

先决条件

以下示例需要 googlemaps 库和一个 API 密钥,可以通过 Google Cloud Console 获取。

pip install googlemaps
export GOOGLE_MAPS_API_KEY=your_api_key_here

您需要在 Google Cloud Console 中启用以下 API:

  • Places API
  • Directions API
  • Geocoding API
  • Address Validation API
  • Distance Matrix API
  • Elevation API
  • Time Zone API

示例

Google Maps 工具的基本用法:

from agno.agent import Agent
from agno.tools.google_maps import GoogleMapTools

agent = Agent(tools=[GoogleMapTools()], show_tool_calls=True)
agent.print_response("Find coffee shops in San Francisco")

更多示例,请参阅 Google Maps Tools 示例

工具箱参数

参数类型默认值描述
keyOptional[str]None可选的 API 密钥。如果未提供,则使用 GOOGLE_MAPS_API_KEY 环境变量
search_placesboolTrue启用地点搜索功能
get_directionsboolTrue启用路线功能
validate_addressboolTrue启用地址验证功能
geocode_addressboolTrue启用地理编码功能
reverse_geocodeboolTrue启用反向地理编码功能
get_distance_matrixboolTrue启用距离矩阵功能
get_elevationboolTrue启用海拔功能
get_timezoneboolTrue启用时区功能

工具箱函数

函数描述
search_places使用 Google Maps Places API 搜索地点。参数:query (str) 用于搜索查询。返回字符串化的 JSON,包含地点详情,如名称、地址、电话、网站、评分和营业时间。
get_directions获取地点之间的路线。参数:origin (str),destination (str),可选 mode (str) 用于出行方式,可选 avoid (List[str]) 用于需要避开的设施。返回路线信息。
validate_address验证地址。参数:address (str),可选 region_code (str),可选 locality (str)。返回地址验证结果。
geocode_address将地址转换为坐标。参数:address (str),可选 region (str)。返回包含坐标的位置信息。
reverse_geocode将坐标转换为地址。参数:lat (float),lng (float),可选 result_typelocation_type (List[str])。返回地址信息。
get_distance_matrix计算地点之间的距离。参数:origins (List[str]),destinations (List[str]),可选 mode (str) 和 avoid (List[str])。返回距离和时长矩阵。
get_elevation获取某个地点的高程。参数:lat (float),lng (float)。返回高程数据。
get_timezone获取某个地点的时间区。参数:lat (float),lng (float),可选 timestamp (datetime)。返回时区信息。

用量限制

Google Maps API 有使用限制和配额,具体取决于服务和账单计划。请参阅 Google Maps Platform 定价获取详细信息。

开发者资源