google-mapsGoogle Maps integration for OpenClaw with Routes API. Use for: (1) Distance/travel time calculations with traffic prediction, (2) Turn-by-turn directions, (3...
Install via ClawdBot CLI:
clawdbot install Shaharsha/google-mapsInstall requests library:
Install requests libraryGoogle Maps integration powered by the Routes API.
GOOGLE_API_KEY environment variable| Env Variable | Default | Description |
|--------------|---------|-------------|
| GOOGLE_API_KEY | - | Required. Your Google Maps API key |
| GOOGLE_MAPS_API_KEY | - | Alternative to GOOGLE_API_KEY (fallback) |
| GOOGLE_MAPS_LANG | en | Response language (en, he, ja, etc.) |
Set in OpenClaw config:
{
"env": {
"GOOGLE_API_KEY": "AIza...",
"GOOGLE_MAPS_LANG": "en"
}
}
python3 skills/google-maps/lib/map_helper.py <action> [options]
python3 lib/map_helper.py distance "origin" "destination" [options]
Options:
| Option | Values | Description |
|--------|--------|-------------|
| --mode | driving, walking, bicycling, transit | Travel mode (default: driving) |
| --depart | now, +30m, +1h, 14:00, 2026-02-07 08:00 | Departure time |
| --arrive | 14:00 | Arrival time (transit only) |
| --traffic | best_guess, pessimistic, optimistic | Traffic model |
| --avoid | tolls, highways, ferries | Comma-separated |
Examples:
python3 lib/map_helper.py distance "New York" "Boston"
python3 lib/map_helper.py distance "Los Angeles" "San Francisco" --depart="+1h"
python3 lib/map_helper.py distance "Chicago" "Detroit" --depart="08:00" --traffic=pessimistic
python3 lib/map_helper.py distance "London" "Manchester" --mode=transit --arrive="09:00"
python3 lib/map_helper.py distance "Paris" "Lyon" --avoid=tolls,highways
Response:
{
"distance": "215.2 mi",
"distance_meters": 346300,
"duration": "3 hrs 45 mins",
"duration_seconds": 13500,
"static_duration": "3 hrs 30 mins",
"duration_in_traffic": "3 hrs 45 mins"
}
python3 lib/map_helper.py directions "origin" "destination" [options]
Additional options (beyond distance):
| Option | Description |
|--------|-------------|
| --alternatives | Return multiple routes |
| --waypoints | Intermediate stops (pipe-separated) |
| --optimize | Optimize waypoint order (TSP) |
Examples:
python3 lib/map_helper.py directions "New York" "Washington DC"
python3 lib/map_helper.py directions "San Francisco" "Los Angeles" --alternatives
python3 lib/map_helper.py directions "Miami" "Orlando" --waypoints="Fort Lauderdale|West Palm Beach" --optimize
Response includes: summary, labels, duration, static_duration, warnings, steps[], optimized_waypoint_order
Calculate distances between multiple origins and destinations:
python3 lib/map_helper.py matrix "orig1|orig2" "dest1|dest2"
Example:
python3 lib/map_helper.py matrix "New York|Boston" "Philadelphia|Washington DC"
Response:
{
"origins": ["New York", "Boston"],
"destinations": ["Philadelphia", "Washington DC"],
"results": [
{"origin_index": 0, "destination_index": 0, "distance": "97 mi", "duration": "1 hr 45 mins"},
{"origin_index": 0, "destination_index": 1, "distance": "225 mi", "duration": "4 hrs 10 mins"}
]
}
python3 lib/map_helper.py geocode "1600 Amphitheatre Parkway, Mountain View, CA"
python3 lib/map_helper.py geocode "10 Downing Street, London"
python3 lib/map_helper.py reverse 40.7128 -74.0060 # New York City
python3 lib/map_helper.py reverse 51.5074 -0.1278 # London
python3 lib/map_helper.py search "coffee near Times Square"
python3 lib/map_helper.py search "pharmacy in San Francisco" --open
python3 lib/map_helper.py details "<place_id>"
| Model | Use Case |
|-------|----------|
| best_guess | Default balanced estimate |
| pessimistic | Important meetings (worst-case) |
| optimistic | Best-case scenario |
Some features may not be available in all countries:
| Feature | Availability |
|---------|--------------|
| --fuel-efficient | US, EU, select countries |
| --shorter | Limited availability |
| --mode=two_wheeler | Asia, select countries |
Check Google Maps coverage for details.
Works with addresses in any language:
# Hebrew
python3 lib/map_helper.py distance "ΧͺΧ ΧΧΧΧ" "ΧΧ¨ΧΧ©ΧΧΧ"
python3 lib/map_helper.py geocode "ΧΧΧΧ ΧΧΧ£ 50, ΧͺΧ ΧΧΧΧ"
# Japanese
python3 lib/map_helper.py distance "ζ±δΊ¬" "ε€§ιͺ"
# Arabic
python3 lib/map_helper.py distance "Ψ―Ψ¨Ω" "Ψ£Ψ¨Ω ΨΈΨ¨Ω"
Language configuration:
GOOGLE_MAPS_LANG=he (persists)--lang=ja# Set Hebrew as default in OpenClaw config
GOOGLE_MAPS_LANG=he
# Override for specific request
python3 lib/map_helper.py distance "Tokyo" "Osaka" --lang=ja
python3 lib/map_helper.py help
Generated Mar 1, 2026
A delivery company uses the skill to calculate real-time travel times with traffic predictions for multiple drivers, optimizing routes with waypoints and avoiding tolls to reduce fuel costs and improve on-time delivery rates. They leverage the distance matrix to assign packages efficiently across a fleet based on current locations and destinations.
A real estate agency integrates the skill to geocode property addresses, calculate commute times to key locations like schools or business districts, and search for nearby amenities such as parks or shopping centers. This helps agents provide data-driven insights to clients on property value and livability.
A travel app uses the skill to generate turn-by-turn directions for tourists, plan transit routes with arrival times, and search for points of interest like museums or restaurants in multiple languages. It supports multilingual queries to cater to international travelers in regions like Asia or the Middle East.
Emergency response teams utilize the skill to calculate the fastest routes between incident locations and hospitals, using pessimistic traffic models for worst-case scenarios and avoiding highways if needed. Geocoding ensures accurate address-to-coordinate conversion for rapid deployment.
A retail chain employs the skill to analyze distance and travel times between potential store sites and customer hubs, using places search to assess competition and demographic data. This aids in strategic expansion decisions by evaluating accessibility and market coverage.
Offer a cloud-based platform where logistics companies subscribe monthly to access advanced routing features like traffic-aware distance calculations and matrix analysis. Revenue comes from tiered pricing based on API call volume and premium features like fuel-efficient routing.
Develop a mobile app that provides basic navigation and places search for free, with in-app purchases for premium features such as offline maps, detailed transit planning, and multilingual support. Revenue is generated through ads and paid upgrades for power users.
Provide consulting services to large enterprises like real estate firms or emergency services to integrate the Google Maps skill into their existing systems, offering custom configurations and support. Revenue is earned through project-based fees and ongoing maintenance contracts.
π¬ Integration Tip
Ensure the GOOGLE_API_KEY is securely stored in environment variables and enable required APIs like Routes and Places in the Google Cloud Console to avoid authorization errors during skill execution.
Foodora-only CLI for checking past orders and active order status (Deliveroo WIP).
Reorder Foodora orders + track ETA/status with ordercli. Never confirm without explicit user approval. Triggers: order food, reorder, track ETA.
Flight tracking and scheduling. Track live flights in real-time by region, callsign, or airport using OpenSky Network. Search flight schedules between airports. Use for queries like "What flights are over Switzerland?" or "When do flights from Hamburg arrive in Zurich?" or "Track flight SWR123".
Use when the user asks to "find flights", "compare itineraries", "search hidden-city routes", "check cheapest dates", "explore destinations", "search hotels"...
Comprehensive travel planning, booking, and management skill. Use when needing to plan international trips, manage multi-destination itineraries, handle family travel logistics, optimize travel costs, and coordinate complex travel arrangements.
Track flight prices using Google Flights data. Search flights, find cheapest dates, filter by airline/time/duration/price, track routes over time, and get al...