google-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 placeslanguage(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 keywordtype(string, optional): Place type filterrank_by(string, optional, default: "prominence"): "prominence" or "distance"open_now(boolean, optional, default: false): Only open placeslanguage(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 resultslanguage(string, optional, default: "en"): Language codereviews_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 routesavoid(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 geocodelanguage(string, optional, default: "en"): Language coderegion(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, lngdirections(object, required for "directions"): Route data with origin and destinationcenter(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_idfrom search results for use withget_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.
- Text: Introduce what you'll show
- Map: Call
show_on_mapto display results - 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):
- Text: Introduce what you'll show ("Here are the top restaurants:")
- show_on_map: Display the map
- 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.