aws-samples

google-maps

Place search, directions, geocoding, and interactive maps

aws-samples 190 58 Updated 6mo ago
GitHub

Install

npx skillscat add aws-samples/sample-strands-agent-with-agentcore/google-maps

Install via the SkillsCat registry.

About this skill

The Google Maps skill enables an AI agent to search for places, obtain geocodes, retrieve directions, and display interactive maps. It solves the need to locate and navigate to specific locations programmatically. Use it when an agent requires place information or routing between coordinates or addresses.

SKILL.md

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.