一键导入
google-maps
Start navigation, get directions and route info via Google Maps app. Tools: intent, http (optional, requires Maps API key for traffic/route details).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Start navigation, get directions and route info via Google Maps app. Tools: intent, http (optional, requires Maps API key for traffic/route details).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Search, subscribe, and listen to podcasts. Download RSS feeds, manage episodes, and play audio with position tracking. Tools: http, file_storage, media_queue, play_audio.
Manage local lists (shopping, to-do, etc.) stored as files. Add, remove, check and read items. Tools: file_storage.
Read, create, update and delete Google Calendar events. Requires Google OAuth. Tools: http.
Search contacts by name and retrieve phone numbers. Use before calling or sending SMS. Tools: query.
Read, search and send emails via Gmail API. Requires Google OAuth. Tools: gmail_send, http.
Read, create, complete and delete tasks via Google Tasks API. Requires Google OAuth. Tools: http.
基于 SOC 职业分类
| name | google-maps |
| description | Start navigation, get directions and route info via Google Maps app. Tools: intent, http (optional, requires Maps API key for traffic/route details). |
Start navigation, look up addresses, calculate distances, and query route/traffic information.
Use the intent tool to open Google Maps.
{
"action": "android.intent.action.VIEW",
"uri": "google.navigation:q={DESTINATION}",
"package": "com.google.android.apps.maps"
}
Examples for the URI field:
google.navigation:q=Grand+Central+Station → navigates to Grand Central Stationgoogle.navigation:q=51.5074,-0.1278 → navigates to GPS coordinatesgoogle.navigation:q=Paris&mode=d → navigates to Paris (driving mode)google.navigation:q=New+York&mode=w → navigates to New York (walking mode)google.navigation:q=Los+Angeles&mode=b → navigates to Los Angeles (cycling mode){
"action": "android.intent.action.VIEW",
"uri": "geo:0,0?q={SEARCH_TERM}",
"package": "com.google.android.apps.maps"
}
To stop an active navigation session, use the accessibility tool to find and tap the "Stop" or "Exit" button inside the running Google Maps app:
android.intent.action.MAIN).get_accessibility_tree on com.google.android.apps.maps to locate the stop/exit button node.accessibility_action with action "click" on that node.Before calling the Routes API, always check whether the API key is configured:
check_credential("google_maps_api_key")
If configured: false → inform the user that they need to add the Google Maps API key under Settings → Services and skip the API call.
If configured: true → proceed. Use auth_provider: "google_maps_api_key" and auth_header: "X-Goog-Api-Key" in the http call. The tool injects the key into that header automatically.
⚠️
X-Goog-FieldMaskis a REQUIRED header – always include it. The API returns 400 without it.
The Routes API accepts plain address strings directly in origin and destination – no separate geocoding step needed. Use "address" for named places, "latLng" only when you already have GPS coordinates.
{
"method": "POST",
"url": "https://routes.googleapis.com/directions/v2:computeRoutes",
"auth_provider": "google_maps_api_key",
"auth_header": "X-Goog-Api-Key",
"headers": [
{ "key": "X-Goog-FieldMask", "value": "routes.duration,routes.distanceMeters,routes.staticDuration,routes.legs.travelAdvisory.speedReadingIntervals" }
],
"body": {
"origin": {
"address": "Current location or street address"
},
"destination": {
"address": "City or street address"
},
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE"
}
}
For the origin, prefer "latLng" with coordinates from device get_location for accuracy. For the destination, always use "address" with the place name – no geocoding API needed.
Response fields:
duration (seconds string, e.g. "3600s") – travel time with live traffic → convert to h/minstaticDuration – travel time without traffic → compare to duration for delaydistanceMeters → convert to kmlegs[].travelAdvisory.speedReadingIntervals[].speed: NORMAL / SLOW / TRAFFIC_JAMHow to present the result – always natural language, no raw data:
duration < staticDuration: traffic is lighter than usual → mention itduration > staticDuration by more than 5 min: there is a delay → state how many minutesTRAFFIC_JAM segments exist: mention congestion on the routeFull workflow – "Is there traffic on the way to London?":
check_credential("google_maps_api_key") – if not configured, tell the user and stopdevice get_location to get current GPS coordinates (use as origin.latLng)http POST Routes API with destination as "address": "London" → extract duration, staticDuration, distanceMeters, speedReadingIntervalsTRAFFIC_JAM segments; compare duration vs staticDuration to estimate delayIMPORTANT: Choose the right method based on your needs:
For calculating the straight-line distance between two GPS coordinates (e.g., checking if you're within X km of a location), use the device tool with action calculate_distance. This requires no API key.
Using the device tool:
{
"action": "calculate_distance",
"latitude1": 48.1234,
"longitude1": 16.5678,
"latitude2": 48.0600,
"longitude2": 16.0840
}
Returns distance in kilometers (e.g., "Distance: 5.23 km (5230 m)").
Workflow for "check if within X km of location":
device get_location → returns coordinates (e.g., 48.1234, 16.5678)device calculate_distance with:
latitude1, longitude1: current location from step 1latitude2, longitude2: target location coordinatesif (distance < 5) { /* within 5 km */ })To calculate the driving, walking, or cycling distance between two locations (addresses or coordinates), use the Routes API with the distanceMeters field in the field mask. This requires a Google Maps API key.
Distance between two addresses:
{
"method": "POST",
"url": "https://routes.googleapis.com/directions/v2:computeRoutes",
"auth_provider": "google_maps_api_key",
"auth_header": "X-Goog-Api-Key",
"headers": [
{ "key": "X-Goog-FieldMask", "value": "routes.distanceMeters" }
],
"body": {
"origin": {
"address": "Berlin, Germany"
},
"destination": {
"address": "Munich, Germany"
},
"travelMode": "DRIVE"
}
}
Distance from current location to an address:
device get_location → returns { latitude, longitude }origin.latLng:{
"method": "POST",
"url": "https://routes.googleapis.com/directions/v2:computeRoutes",
"auth_provider": "google_maps_api_key",
"auth_header": "X-Goog-Api-Key",
"headers": [
{ "key": "X-Goog-FieldMask", "value": "routes.distanceMeters" }
],
"body": {
"origin": {
"latLng": {
"latitude": 52.5200,
"longitude": 13.4050
}
},
"destination": {
"address": "Paris, France"
},
"travelMode": "DRIVE"
}
}
Distance between two coordinates:
{
"method": "POST",
"url": "https://routes.googleapis.com/directions/v2:computeRoutes",
"auth_provider": "google_maps_api_key",
"auth_header": "X-Goog-Api-Key",
"headers": [
{ "key": "X-Goog-FieldMask", "value": "routes.distanceMeters" }
],
"body": {
"origin": {
"latLng": {
"latitude": 52.5200,
"longitude": 13.4050
}
},
"destination": {
"latLng": {
"latitude": 48.8566,
"longitude": 2.3522
}
},
"travelMode": "DRIVE"
}
}
Response handling:
routes[0].distanceMeters from the responsedistanceKm = distanceMeters / 1000Travel modes for distance calculation:
DRIVE – driving distance (default, most common)WALK – walking distanceBICYCLE – cycling distanceTRANSIT – public transit distanceFull workflow – "How far is Paris from here?" (route distance):
check_credential("google_maps_api_key") – if not configured, tell the user and stopdevice get_location to get current GPS coordinateshttp POST Routes API with origin.latLng (current location) and destination.address ("Paris")routes[0].distanceMeters from responseFull workflow – "Am I within 5 km of a location?" (straight-line distance):
device get_location to get current GPS coordinates (e.g., lat1 = 48.1234, lon1 = 16.5678)device calculate_distance with current location and target coordinates (e.g., lat2 = 48.0600, lon2 = 16.0840)if (distance < 5) { /* within 5 km */ }google.navigation:q=Grand+Central+Stationgoogle.navigation:q=Parisgeo:0,0?q=Central+Park+New+Yorkgoogle.navigation:q=homegeo:0,0?q=gas+station+