Skip to main content

Documentation Index

Fetch the complete documentation index at: https://agno-v2-shaloo-ai-support-link.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Enable Agno agents with location intelligence with various Google Maps API functionalities including business search, directions, geocoding, address validation, and more. Specify include_tools and exclude_tools parameters for selective function access.

Prerequisites:


from agno.agent import Agent
from agno.tools.crawl4ai import Crawl4aiTools
from agno.tools.google_maps import GoogleMapTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------

# Example 1: All functions available (default behavior)
agent_full = Agent(
    name="Full Maps API Agent",
    tools=[
        GoogleMapTools(),  # All functions enabled by default
        Crawl4aiTools(max_length=5000),
    ],
    description="You are a location and business information specialist with full Google Maps access.",
    instructions=[
        "Use any Google Maps function as needed for location-based queries",
        "Combine Maps data with website data when available",
        "Format responses clearly and provide relevant details",
        "Handle errors gracefully and provide meaningful feedback",
    ],
    markdown=True,
)

# Example 2: Include only specific functions
agent_search = Agent(
    name="Search-focused Maps Agent",
    tools=[
        GoogleMapTools(
            include_tools=[
                "search_places",
            ]
        ),
    ],
    description="You are a location search specialist focused only on finding places.",
    instructions=[
        "Focus on place searches and getting place details",
        "Use search_places for general queries",
        "Use find_place_from_text for specific place names",
        "Use get_nearby_places for proximity searches",
    ],
    markdown=True,
)

# Example 3: Exclude potentially expensive operations
agent_safe = Agent(
    name="Safe Maps API Agent",
    tools=[
        GoogleMapTools(
            exclude_tools=[
                "get_distance_matrix",  # Can be expensive with many origins/destinations
                "get_directions",  # Excludes detailed route calculations
            ]
        ),
        Crawl4aiTools(max_length=3000),
    ],
    description="You are a location specialist with restricted access to expensive operations.",
    instructions=[
        "Provide location information without detailed routing",
        "Use geocoding and place searches freely",
        "For directions, provide general guidance only",
    ],
    markdown=True,
)

# Using the full-featured agent for examples
agent = agent_full

# Example 1: Business Search

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    print("\n=== Business Search Example ===")
    agent.print_response(
        "Find me highly rated Chinese restaurants in Phoenix, AZ with their contact details",
        stream=True,
    )

    # Example 2: Directions
    print("\n=== Directions Example ===")
    agent.print_response(
        """Get driving directions from 'Phoenix Sky Harbor Airport' to 'Desert Botanical Garden',
        avoiding highways if possible""",
        stream=True,
    )

    # Example 3: Address Validation and Geocoding
    print("\n=== Address Validation and Geocoding Example ===")
    agent.print_response(
        """Please validate and geocode this address:
        '1600 Amphitheatre Parkway, Mountain View, CA'""",
        stream=True,
    )

    # Example 4: Distance Matrix
    print("\n=== Distance Matrix Example ===")
    agent.print_response(
        """Calculate the travel time and distance between these locations in Phoenix:
        Origins: ['Phoenix Sky Harbor Airport', 'Downtown Phoenix']
        Destinations: ['Desert Botanical Garden', 'Phoenix Zoo']""",
        stream=True,
    )

    # Example 5: Nearby Places and Details
    print("\n=== Nearby Places Example ===")
    agent.print_response(
        """Find coffee shops near Arizona State University Tempe campus.
        Include ratings and opening hours if available.""",
        stream=True,
    )

    # Example 6: Reverse Geocoding and Timezone
    print("\n=== Reverse Geocoding and Timezone Example ===")
    agent.print_response(
        """Get the address and timezone information for these coordinates:
        Latitude: 33.4484, Longitude: -112.0740 (Phoenix)""",
        stream=True,
    )

    # Example 7: Multi-step Route Planning
    print("\n=== Multi-step Route Planning Example ===")
    agent.print_response(
        """Plan a route with multiple stops in Phoenix:
        Start: Phoenix Sky Harbor Airport
        Stops:
        1. Arizona Science Center
        2. Heard Museum
        3. Desert Botanical Garden
        End: Return to Airport
        Please include estimated travel times between each stop.""",
        stream=True,
    )

    # Example 8: Location Analysis
    print("\n=== Location Analysis Example ===")
    agent.print_response(
        """Analyze this location in Phoenix:
        Address: '2301 N Central Ave, Phoenix, AZ 85004'
        Please provide:
        1. Exact coordinates
        2. Nearby landmarks
        3. Elevation data
        4. Local timezone""",
        stream=True,
    )

    # Example 9: Business Hours and Accessibility
    print("\n=== Business Hours and Accessibility Example ===")
    agent.print_response(
        """Find museums in Phoenix that are:
        1. Open on Mondays
        2. Have wheelchair accessibility
        3. Within 5 miles of downtown
        Include their opening hours and contact information.""",
        stream=True,
    )

    # Example 10: Transit Options
    print("\n=== Transit Options Example ===")
    agent.print_response(
        """Compare different travel modes from 'Phoenix Convention Center' to 'Phoenix Art Museum':
        1. Driving
        2. Walking
        3. Transit (if available)
        Include estimated time and distance for each option.""",
        stream=True,
    )

Run the Example

# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/91_tools

# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate

python google_maps_tools.py
For details, see Google Maps cookbook.