Place search, directions, geocoding, and interactive maps
Scanned 6/6/2026
Install via CLI
openskills install aws-samples/sample-strands-agent-with-agentcore---
name: google-maps
description: Place search, directions, geocoding, and interactive maps
---
# Google Maps
## Available Tools
- **search_places(query, location?, radius?, type?, open_now?, language?)**: Search for places using text query.
- `query` (string, required): Search text (e.g., "restaurants in Seoul")
- `location` (string, optional): Center location as "lat,lng" (e.g., "37.5665,126.9780")
- `radius` (integer, optional): Search radius in meters (max 50,000)
- `type` (string, optional): Place type filter (e.g., "restaurant", "tourist_attraction", "hotel")
- `open_now` (boolean, optional, default: false): Only return currently open places
- `language` (string, optional, default: "en"): Language code
- **search_nearby_places(location, radius, keyword?, type?, rank_by?, open_now?, language?)**: Search near specific coordinates.
- `location` (string, required): Center as "lat,lng" (e.g., "37.5665,126.9780")
- `radius` (integer, required): Search radius in meters (max 50,000)
- `keyword` (string, optional): Search keyword
- `type` (string, optional): Place type filter
- `rank_by` (string, optional, default: "prominence"): "prominence" or "distance"
- `open_now` (boolean, optional, default: false): Only open places
- `language` (string, optional, default: "en"): Language code
- **get_place_details(place_id, language?, reviews_sort?)**: Get detailed place info including reviews and hours.
- `place_id` (string, required): Place ID from search results
- `language` (string, optional, default: "en"): Language code
- `reviews_sort` (string, optional, default: "most_relevant"): "most_relevant" or "newest"
- **get_directions(origin, destination, mode?, alternatives?, avoid?, language?)**: Get directions between two locations.
- `origin` (string, required): Starting point (address or "lat,lng")
- `destination` (string, required): Destination (address or "lat,lng")
- `mode` (string, optional, default: "driving"): "driving", "walking", "bicycling", "transit"
- `alternatives` (boolean, optional, default: false): Return alternative routes
- `avoid` (string, optional): "tolls", "highways", or "ferries"
- `language` (string, optional, default: "en"): Language code
- **geocode_address(address, language?, region?)**: Convert a text address to geographic coordinates.
- `address` (string, required): Address to geocode
- `language` (string, optional, default: "en"): Language code
- `region` (string, optional): Country code for regional bias
- **reverse_geocode(latlng, language?)**: Convert coordinates to a human-readable address.
- `latlng` (string, required): Coordinates as "lat,lng" (e.g., "37.5665,126.9780")
- `language` (string, optional, default: "en"): Language code
- **show_on_map(map_type, markers?, directions?, center?, zoom?)**: Display locations or routes on an interactive map.
- `map_type` (string, required): "markers" (location pins), "directions" (route), or "area"
- `markers` (array, required for "markers"): List of marker objects with lat, lng
- `directions` (object, required for "directions"): Route data with origin and destination
- `center` (object, optional): Map center {lat, lng}
- `zoom` (integer, optional): Zoom level 1-20
## Usage Guidelines
- **ALWAYS call show_on_map** after collecting location data — visual maps are the primary value.
- Preserve `place_id` from search results for use with `get_place_details`.
- Infer transportation mode from context (driving for long distances, walking for short ones).
- Show 1-5 most relevant places per map.
## Response Pattern
Follow the **Text -> Map -> Text** sequence. Do NOT call `show_on_map` in parallel with other tool calls.
1. **Text**: Introduce what you'll show
2. **Map**: Call `show_on_map` to display results
3. **Text**: Explain the results
**Multiple categories**: Use separate maps in sequence — never parallel.
## Output Rules
The map renders visually from the tool result — never echo or paraphrase the raw `map_data` JSON (type, center, zoom, markers, lat/lng) in your text response. Describe places in natural language only (names, ratings, brief notes). The user already sees the map; do not repeat its contents.
## UI Guidance (from tools-config)
**When to Use:**
- ALWAYS call show_on_map after collecting location data - visual maps are the primary value
- Use for: search results, directions, comparisons, or any location-based query
**Response Pattern (DO NOT call show_on_map in parallel):**
1. Text: Introduce what you'll show ("Here are the top restaurants:")
2. show_on_map: Display the map
3. Text: Explain the results ("These restaurants are rated 4.5+ stars")
Example:
- "Let me show you restaurants in Gangnam:" → show_on_map(restaurants) → "All 5 restaurants above have excellent reviews."
- For multiple categories: Text → Map 1 → Text → Map 2 (sequential, not parallel)
**Map Organization:**
- Separate maps for different categories (restaurants vs hotels)
- Show 1-5 most relevant places per map
**Tool Selection:**
- search_places: text queries | search_nearby_places: coordinates
- Preserve place_id for details | Infer direction mode from context
**Output Rules:**
- The map is rendered visually by the UI from the tool result. NEVER echo, paraphrase, or include the raw map_data JSON (coordinates, markers, zoom, type) in your text response.
- Describe locations in natural language only (names, ratings, brief notes). The user already sees the map — do not repeat its contents.
No comments yet. Be the first to comment!