Google Maps Platform Grounding Lite to usługa z obsługą protokołu Model Context Protocol (MCP), która ułatwia oparcie aplikacji AI na wiarygodnych danych geoprzestrzennych z Map Google. Serwer MCP udostępnia narzędzia, które umożliwiają LLM dostęp do funkcji związanych z miejscami, pogodą i trasami. Możesz wypróbować Maps Grounding Lite, włączając tę funkcję w dowolnym narzędziu obsługującym serwery MCP.
Narzędzia
Maps Grounding Lite udostępnia narzędzia, które umożliwiają LLM dostęp do tych funkcji Map Google:
- Wyszukiwanie Miejsc: prośba o informacje o miejscach i uzyskiwanie wygenerowanych przez AI podsumowań danych o miejscach, a także identyfikatorów miejsc, współrzędnych geograficznych oraz linków do Map Google dla każdego miejsca uwzględnionego w podsumowaniu. Zwrócone identyfikatory miejsc oraz współrzędne geograficzne możesz wykorzystać w innych interfejsach API Google Maps Platform, aby wyświetlać miejsca na mapie.
- Sprawdzanie pogody: wysyłanie prośby o informacje o pogodzie i zwracanie aktualnych warunków, prognoz godzinowych i prognoz dziennych.
Obliczanie tras: wysyłanie prośby o informacje o trasach samochodowych lub pieszych między 2 lokalizacjami i zwracanie informacji o odległości i czasie trwania trasy.
Włączenie serwera MCP Maps Grounding Lite umożliwia LLM wywoływanie nowych narzędzi udostępnianych przez serwer w celu zwracania dodatkowych informacji o groundingu dla wymienionych powyżej typów danych. Chociaż LLM może używać tych dodatkowych informacji jako kontekstu, wygenerowana przez niego odpowiedź może nie zawierać dokładnych informacji zwróconych przez serwer MCP. Sprawdź poprawność wygenerowanej odpowiedzi.
Wypróbuj przykładową aplikację Maps Grounding Lite (otwiera się w nowej karcie)
Rozliczenia i limity
Sposób rozliczania
W modelu płatności według wykorzystania Google Maps Platform wykorzystanie usługi Maps Grounding Lite jest obliczane dla każdego żądania, przy czym każde żądanie stanowi jedno zdarzenie rozliczeniowe. Wykorzystanie jest śledzone w przypadku każdego kodu produktu. Rachunek zawiera pozycję dla każdego kodu SKU oraz łączne opłaty. Więcej informacji znajdziesz w omówieniu raportowania.
Szczegółowe informacje o cenach znajdziesz w głównej tabeli cen i tabeli cen w Indiach.
Mapy z użyciem Grounding Lite są też dostępne w pakietach Essentials i Pro. Subskrybuj, aby zaoszczędzić
Limity
Narzędzia udostępniane przez Maps Grounding Lite podlegają tym limitom:
- Wyszukiwanie miejsc: 300 zapytań na minutę na projekt.
- Sprawdzanie pogody: 300 zapytań na minutę na projekt.
- Obliczanie tras: 300 zapytań na minutę na projekt.
Zasady i warunki korzystania z usługi
Usługa Maps Grounding Lite podlega Warunkom korzystania z usługi Google Maps Platform, w tym dodatkowym warunkom korzystania z usługi. Ta sekcja zawiera dodatkowe wymagania dotyczące korzystania z usługi Maps Grounding Lite, w tym zgodne duże modele językowe i wymagania dotyczące atrybucji źródła.
Wymagania dotyczące zgodnych dużych modeli językowych
Z usługi Grounding Lite w Mapach możesz korzystać tylko w przypadku modeli LLM, które są zgodne z Warunkami korzystania z usługi Google Maps Platform.
Na przykład ponosisz odpowiedzialność za to, aby treści z Map Google nie były buforowane, przechowywane ani wykorzystywane do ulepszania wybranego przez Ciebie dużego modelu językowego. Przed użyciem Grounding Lite w Mapach zapoznaj się z Warunkami korzystania z usługi dotyczącymi każdego modelu, którego zamierzasz używać z Grounding Lite w Mapach. Nie możesz używać Maps Grounding Lite z modelami, które wykorzystują dane wejściowe do trenowania lub ulepszania modelu. Ponosisz odpowiedzialność za zapewnienie, że korzystanie z modelu jest w pełni zgodne z ograniczeniami dotyczącymi treści w Mapach Google określonymi w Warunkach korzystania z usługi Google Maps Platform, w tym w szczegółowych warunkach korzystania z usługi.
Wymagania dotyczące atrybucji w przypadku źródeł Map Google
Każda odpowiedź narzędzia w Mapach Grounding Lite zawiera źródła. Podczas prezentowania wyników, które korzystają z narzędzi udostępnianych przez Maps Grounding Lite, musisz uwzględnić powiązane źródła Map Google w sposób spełniający te wymagania:
- Źródła Map Google muszą znajdować się bezpośrednio po wygenerowanych treściach, które obsługują. Wygenerowane treści są też nazywane odpowiedzią opartą na źródłach.
- Źródła w Mapach Google muszą być widoczne w ramach jednej interakcji użytkownika.
Źródła narzędzia Wyszukaj miejsca
Pole search_places narzędzia places zawiera źródła potwierdzające summary. W przypadku places zwracane są te metadane:
place(nazwa zasobu)idlocationgoogleMapsLinks
W przypadku każdego miejsca musisz wygenerować podgląd linku, który spełnia te wymagania:
- Każde źródło należy przypisać do Map Google zgodnie z wytycznymi dotyczącymi przypisywania tekstu w przypadku Map Grounding Lite.
- Połącz się ze źródłem za pomocą parametru
places.googleMapsLinks.placeUrlz odpowiedzi.
Konfigurowanie dużych modeli językowych do korzystania z serwera MCP
Aby korzystać z Maps Grounding Lite, musisz najpierw mieć projekt w chmurze Google Cloud z włączoną usługą interfejsu API Maps Grounding Lite oraz klucz interfejsu API lub identyfikator klienta OAuth. Następnie możesz skonfigurować duże modele językowe, aby miały dostęp do serwera MCP. Serwer Grounding Lite MCP korzysta z transportu HTTP z możliwością przesyłania strumieniowego.
Włącz usługę Maps Grounding Lite w projekcie Google Cloud.
Aby włączyć interfejs API w projekcie:
- W konsoli Google Cloud wybierz projekt, którego chcesz użyć w przypadku Maps Grounding Lite.
- Włącz rozliczenia w projekcie w konsoli Google Cloud.
- Włącz Maps Grounding Lite w Bibliotece interfejsów API Google Cloud Console.
Uwierzytelnianie za pomocą klucza interfejsu API
Możesz użyć istniejącego klucza interfejsu API z interfejsem Maps Grounding Lite lub utworzyć nowy, o ile włączysz usługę interfejsu API Maps Grounding Lite w projekcie w chmurze Google Cloud i w kluczu.
Aby przeprowadzić uwierzytelnianie za pomocą klucza interfejsu API:
- Utwórz lub skonfiguruj klucz interfejsu API, wykonując czynności opisane w artykule Wprowadzenie do Google Maps Platform.
- Przekaż klucz do serwera MCP za pomocą nagłówka
X-Goog-Api-Key. Musisz określić to jako niestandardowy nagłówek HTTP w konfiguracji narzędzia MCP modelu LLM.
Uwierzytelnianie przy użyciu OAuth
Do uwierzytelniania możesz używać protokołu OAuth, tworząc dane uwierzytelniające OAuth i przekazując je do hosta MCP lub aplikacji serwera MCP.
Aby uwierzytelnić się za pomocą protokołu OAuth:
- W konsoli Google Cloud wybierz projekt, którego chcesz użyć w przypadku Maps Grounding Lite.
- W menu Interfejsy API i usługi wybierz Dane logowania.
- W menu u góry wybierz Utwórz dane logowania > Identyfikator klienta OAuth.
- Jeśli projekt nie ma skonfigurowanego ekranu zgody, kliknij Skonfiguruj ekran zgody i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
- W sekcji Dane kliknij Utwórz klienta OAuth.
- Na ekranie Tworzenie identyfikatora klienta OAuth wybierz typ aplikacji i wpisz nazwę identyfikatora klienta.
- Podaj dodatkowe informacje, które są istotne w przypadku Twojego typu zgłoszenia. Jeśli na przykład tworzysz aplikację internetową, dodaj autoryzowane identyfikatory URI dla żądań przeglądarki i serwera.
- Po utworzeniu klienta zapisz jego identyfikator i tajny klucz.
- Podczas konfigurowania hosta MCP lub aplikacji serwera MCP w celu uzyskania dostępu do Maps Grounding Lite przekaż identyfikator klienta OAuth i tajny klucz. Musisz też poprosić o ten zakres:
https://www.googleapis.com/auth/maps-platform.mapstools
Więcej informacji znajdziesz w artykule o używaniu OAuth 2.0 do korzystania z interfejsów API Google.
Konfigurowanie dużych modeli językowych w celu uzyskania dostępu do serwera MCP Maps Grounding Lite
Gdy masz już projekt w chmurze Google Cloud z włączoną usługą Maps Grounding Lite API i prawidłowe dane logowania, takie jak klucz interfejsu API lub identyfikator klienta OAuth i obiekt tajny, możesz skonfigurować LLM, aby uzyskiwały dostęp do serwera MCP. W tym celu postępuj zgodnie z odpowiednią dokumentacją konfiguracji MCP i użyj adresu URL serwera MCP Maps Grounding Lite: https://mapstools.googleapis.com/mcp
Więcej informacji znajdziesz w artykule Konfigurowanie MCP w aplikacji AI.
Konfigurowanie Grounding Lite w Mapach za pomocą interfejsu wiersza poleceń Gemini
W tej sekcji znajdziesz przykład konfiguracji serwera MCP Maps Grounding Lite za pomocą interfejsu wiersza poleceń Gemini. Więcej informacji znajdziesz w artykule Serwery MCP z interfejsem wiersza poleceń Gemini.
Po zainstalowaniu interfejsu wiersza poleceń Gemini możesz użyć polecenia add, aby skonfigurować serwer MCP Maps Grounding Lite:
gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-grounding-lite-mcp https://mapstools.googleapis.com/mcpJeśli konfiguracja się powiodła, powinien pojawić się komunikat z potwierdzeniem, że serwer został dodany do ustawień użytkownika.
Aby sprawdzić, czy serwer działa prawidłowo, uruchom to polecenie:
/mcp list> /mcp list Configured MCP servers: maps-grounding-lite-mcp - Ready (3 tools) Tools: - compute_routes - lookup_weather - search_placesZacznij zadawać pytania dotyczące Map za pomocą interfejsu wiersza poleceń. Na przykład spróbuj wpisać „Poleć mi restauracje w Warszawie”, co powinno spowodować wywołanie narzędzia search_places w Twoim imieniu.
Konfigurowanie Grounding Lite za pomocą pakietu Agent Development Kit (ADK)
W tej sekcji znajdziesz przykłady pokazujące, jak skonfigurować serwer MCP Grounding Lite za pomocą pakietu Agent Development Kit (ADK) i języka Python, Java lub TypeScript.
Python
Krok 1. Zdefiniuj agenta za pomocą McpToolset w usłudze Grounding Lite w ramach Map Google
Zmodyfikuj plik agent.py. Zastąp YOUR_GOOGLE_MAPS_API_KEY swoim kluczem interfejsu API.
# ./adk_agent_samples/mcp_agent/agent.py import os from google.adk.agents.llm_agent import Agent from google.adk.tools.mcp_tool import McpToolset from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams # Retrieve the API key from an environment variable or directly insert it. GOOGLE_MAPS_API_KEY = os.getenv("GOOGLE_MAPS_API_KEY") if not GOOGLE_MAPS_API_KEY: GOOGLE_MAPS_API_KEY = "YOUR_GOOGLE_MAPS_API_KEY_HERE" if GOOGLE_MAPS_API_KEY == "YOUR_GOOGLE_MAPS_API_KEY_HERE": print("WARNING: GOOGLE_MAPS_API_KEY is not set.") root_agent = Agent( model='gemini-flash-latest', name='travel_planner_agent', description='A helpful assistant for planning travel routes.', tools=[ McpToolset( connection_params=StreamableHTTPConnectionParams( url="https://mapstools.googleapis.com/mcp", headers={ "X-Goog-Api-Key": GOOGLE_MAPS_API_KEY, "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } ) ) ] )
Krok 2. Sprawdź, czy istnieje element __init__.py
Upewnij się, że w tym samym katalogu co agent.py znajduje się __init__.py:
from . import agent
Krok 3. Uruchom adk web i wykonaj interakcję
- Ustaw zmienną środowiskową:
Ustaw klucz interfejsu API Map Google jako zmienną środowiskową w terminalu:export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
- Uruchom
adk web:
Aby uruchomić interfejs internetowy ADK, wykonaj to polecenie:adk web
- Interakcja w interfejsie:
- Wybierz
travel_planner_agent. - Wypróbuj prompty takie jak:
- „Jutro będę w San Francisco. Jaka jest pogoda?
- „Znajdź kawiarnie w pobliżu Golden Gate Park”.
- „Wyznacz trasę z Googleplex do SFO”.
- Wybierz
Java
Zdefiniuj agenta, który inicjuje McpToolset w języku Java.
Jeśli nie używasz zmiennej środowiskowej, zastąp YOUR_GOOGLE_MAPS_API_KEY_HERE uzyskanym kluczem interfejsu API.
package agents; import com.google.adk.agents.LlmAgent; import com.google.adk.runner.InMemoryRunner; import com.google.adk.sessions.SessionKey; import com.google.adk.tools.mcp.McpToolset; import com.google.adk.tools.mcp.StreamableHttpServerParameters; import com.google.genai.types.Content; import com.google.genai.types.Part; import java.util.HashMap; import java.util.Map; public class MapsAgentCreator { public static void main(String[] args) { String googleMapsApiKey = System.getenv("GOOGLE_MAPS_API_KEY"); if (googleMapsApiKey == null || googleMapsApiKey.trim().isEmpty()) { googleMapsApiKey = "YOUR_GOOGLE_MAPS_API_KEY_HERE"; if ("YOUR_GOOGLE_MAPS_API_KEY_HERE".equals(googleMapsApiKey)) { System.out.println("WARNING: GOOGLE_MAPS_API_KEY is not set."); } } Map<String, String> headers = new HashMap<>(); headers.put("X-Goog-Api-Key", googleMapsApiKey); headers.put("Content-Type", "application/json"); headers.put("Accept", "application/json, text/event-stream"); StreamableHttpServerParameters serverParams = StreamableHttpServerParameters.builder("https://mapstools.googleapis.com/mcp") .headers(headers) .build(); try (McpToolset toolset = new McpToolset(serverParams)) { LlmAgent agent = LlmAgent.builder() .model("gemini-flash-latest") .name("travel_planner_agent") .description("A helpful assistant for planning travel routes.") .tools(toolset) .build(); System.out.println("Agent created: " + agent.name()); InMemoryRunner runner = new InMemoryRunner(agent); String userId = "maps-user-" + System.currentTimeMillis(); String sessionId = "maps-session-" + System.currentTimeMillis(); String promptText = "Please give me directions to the nearest pharmacy to Madison Square Garden."; SessionKey sessionKey = runner.sessionService().createSession(runner.appName(), userId, null, sessionId).blockingGet().sessionKey(); System.out.println("Session created: " + sessionId + " for user: " + userId); Content promptContent = Content.fromParts(Part.fromText(promptText)); System.out.println("\nSending prompt: \"" + promptText + "\" to agent...\n"); runner.runAsync(sessionKey, promptContent) .blockingForEach(event -> { System.out.println("Event received: " + event.toJson()); }); } catch (Exception e) { System.err.println("An error occurred: " + e.getMessage()); e.printStackTrace(); } } }
TypeScript
Zdefiniuj agenta, który inicjuje MCPToolset w TypeScript:
import 'dotenv/config'; import {LlmAgent, MCPToolset} from "@google/adk"; const googleMapsApiKey = process.env.GOOGLE_MAPS_API_KEY; if (!googleMapsApiKey) { console.warn("WARNING: GOOGLE_MAPS_API_KEY is not set."); throw new Error('GOOGLE_MAPS_API_KEY is not provided, please run "export GOOGLE_MAPS_API_KEY=YOUR_ACTUAL_KEY" to add that.'); } export const rootAgent = new LlmAgent({ model: "gemini-flash-latest", name: "travel_planner_agent", description: "A helpful assistant for planning travel.", tools: [ new MCPToolset({ type: "SseConnectionParams", url: "https://mapstools.googleapis.com/mcp", headers: { "X-Goog-Api-Key": googleMapsApiKey, "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } }) ], });
Przesyłanie opinii
Aby przesłać opinię o usłudze Grounding Lite w Mapach, skorzystaj z tych formularzy: