Skip to content
Back to skills

Google Maps

ASecurity

Place search, directions, geocoding, and interactive maps

  • 194 stars
  • 0 votes
  • 2 copies
  • 3 views
  • Added June 6, 2026
ai-agentsgo

Works with

  • cli

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add aws-samples/sample-strands-agent-with-agentcore --skill google-maps --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Google Maps?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Google Maps
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aws-samples-google-maps/badge)](https://www.skillsdirectory.com/skills/aws-samples-google-maps)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.