Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aws-samples avatar

Google Maps

  • 95 installs
  • 186 repo stars
  • Updated August 4, 2026
  • aws-samples/sample-strands-agent-with-agentcore

google-maps is a Claude skill that does place search, directions, geocoding, and renders locations and routes on an interactive map.

About

This skill connects an agent to Google Maps for place search, nearby search, place details, directions, geocoding, and reverse geocoding. It renders locations and routes on an interactive map via a show_on_map tool. A developer uses it when an assistant needs location lookup or navigation with a visual map. The skill enforces a Text to Map to Text response sequence.

  • Place search, directions, geocoding, and interactive maps via Google Maps tools
  • Renders results on an interactive map with markers, routes, and area views
  • Follows a Text to Map to Text response pattern and never runs show_on_map in parallel

Google Maps by the numbers

  • 95 all-time installs (skills.sh)
  • Ranked #830 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

google-maps capabilities & compatibility

Capabilities
place search · directions · geocoding
Use cases
web search
Pricing
Free
From the docs

What google-maps says it does

Place search, directions, geocoding, and interactive maps
SKILL.md
Follow the **Text -> Map -> Text** sequence.
SKILL.md
npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill google-maps

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs95
repo stars186
Last updatedAugust 4, 2026
Repositoryaws-samples/sample-strands-agent-with-agentcore

What it does

Let an agent search places, get directions, geocode addresses, and render locations on an interactive map.

Who is it for?

Location search, directions, and geocoding with an interactive map rendered from the results.

Skip if: Non-location tasks; the skill says the map is the primary value.

When should I use this skill?

The user asks for places, directions, or address-to-coordinate lookups.

What you get

Places found, routes computed, addresses geocoded, and results shown on an interactive map.

By the numbers

  • 7 maps tools
  • search radius max 50,000 meters

Files

SKILL.mdMarkdownGitHub ↗

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.

Related skills

FAQ

What response pattern does it use?

Text then Map then Text: introduce results, call show_on_map, then explain, and never call show_on_map in parallel.

What travel modes are supported?

get_directions supports driving, walking, bicycling, and transit.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.