Grounding z użyciem Map Google

Grounding z Google Maps łączy model Gemini z danymi geoprzestrzennymi z Google Maps, dzięki czemu możesz tworzyć funkcje rozpoznające lokalizację w swoich aplikacjach.

Korzyści z używania usługi Google Maps do groundingu:

  • Zwiększanie zgodności z prawdą: ograniczaj halucynacje modelu, opierając odpowiedzi na bazie danych Google zawierającej ponad 250 milionów miejsc i firm na całym świecie.
  • Dostęp do informacji w czasie rzeczywistym: odpowiadaj na pytania, korzystając z danych na żywo, takich jak aktualne godziny otwarcia i stan stacji ładowania EV w czasie rzeczywistym.
  • Podawaj źródła: buduj zaufanie użytkowników, wyświetlając źródła i linki do Google Maps miejsc bezpośrednio obok twierdzeń modelu dotyczących lokalizacji.

Obsługiwane modele

  • gemini-4-argon
  • gemini-3.8-flash (oraz starsze modele gemini-3.7-flash, gemini-3.6-flash i gemini-3.5-flash)
  • gemini-3.5-flash-lite (oraz starsze wersje gemini-3.1-flash-lite)

Tę funkcję obsługują też modele gemini-3.1-pro-preview i ogólnego zastosowania Gemini 2.5 (które zostały wycofane).

Obsługiwane języki

Sprawdź obsługiwane języki modeli Gemini.

Uzgadnianie modelu za pomocą Google Maps

Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod dotyczące tego dostawcy.

Podczas tworzenia instancji GenerativeModel podaj GoogleMaps jako tool, którego model może użyć do wygenerowania odpowiedzi.

Swift


import CoreLocation
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Example: Coordinates for New York City
let latAndLong = CLLocationCoordinate2D(latitude: 40.7128, longitude: -74.0060)

// (Optional) Define a RetrievalConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
let retrievalConfig = RetrievalConfig(
    location: latAndLong,
    // Example: Language code for English (US).
    languageCode: "en-US"
)

// Wrap the RetrievalConfig inside a ToolConfig.
let toolConfig = ToolConfig(retrievalConfig: retrievalConfig)

// Create a `GenerativeModel` instance with a model that supports your use case.
let model = ai.generativeModel(
    modelName: "GEMINI_MODEL_NAME",
    // Provide Google Maps as a tool that the model can use to generate its response.
    tools: [.googleMaps()],
    // Add the configuration for the Grounding with Google Maps tool
    // (if this optional config was defined above).
    toolConfig: toolConfig
)

let response = try await model.generateContent("restaurants near me?")
print(response.text ?? "No text in response.")

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Kotlin


// (Optional) Define a RetrievalConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
val retrievalConfig = RetrievalConfig(
    // Example: Coordinates for New York City
    latLng = LatLng(latitude = 40.7128, longitude = -74.0060),
    // Example: Language code for English (US)
    languageCode = "en-US"
)

// Wrap the RetrievalConfig inside a ToolConfig.
val toolConfig = ToolConfig(
    retrievalConfig = retrievalConfig
)

// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    // Add the configuration for the Grounding with Google Maps tool
    // (if this optional config was defined above).
    toolConfig = toolConfig,
    // Provide Google Maps as a tool that the model can use to generate its response.
    tools = listOf(Tool.googleMaps())
)

val response = model.generateContent("restaurants near me?")
print(response.text)

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Java


// (Optional) Define a ToolConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
ToolConfig toolConfig = new ToolConfig(
    null,
    new RetrievalConfig(
        // Example: Coordinates for New York City.
        new LatLng(40.7128, -74.0060),
        // Example: Language code for English (US).
       "en-US"
    )
);

// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .generativeModel("GEMINI_MODEL_NAME",
                        null,
                        null,
                        // Provide Google Maps as a tool that the model can use to generate its response.
                        List.of(Tool.googleMaps()),
                        // Add the configuration for the Grounding with Google Maps tool
                        // (if this optional config was defined above).
                        toolConfig);

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs.
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

ListenableFuture response = model.generateContent("restaurants near me?");
  Futures.addCallback(response, new FutureCallback() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
          String resultText = result.getText();
          System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
          t.printStackTrace();
      }
  }, executor);

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// (Optional) Define a toolConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
const toolConfig = {
  retrievalConfig: {
    // Example: Coordinates for New York City
    latLng: {
      latitude: 40.7128,
      longitude: -74.0060
    },
    // Example: Language code for English (US)
    languageCode: 'en-US'
  }
};

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(
  ai,
  {
    model: "GEMINI_MODEL_NAME",
    // Provide Google Maps as a tool that the model can use to generate its response.
    tools: [ { googleMaps: {} } ],
    // Add the configuration for the Grounding with Google Maps tool
    // (if this optional config was defined above).
    toolConfig
  }
);

const result = await model.generateContent("restaurants near me?");

console.log(result.response.text());

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Dart


import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_ai/firebase_ai.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp.
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// (Optional) Define a ToolConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
final toolConfig = ToolConfig(
  retrievalConfig: RetrievalConfig(
    // Example: Coordinates for New York City.
    latLng: LatLng(latitude: 40.712728, longitude: -74.006015),
    // Example: Language code for English (US).
    languageCode: 'en-US',
  ),
);

// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  // Provide Google Maps as a tool that the model can use to generate its response.
  tools: [
    Tool.googleMaps(),
  ],
  // Add the configuration for the Grounding with Google Maps tool
  // (if this optional config was defined above).
  toolConfig: toolConfig,
);

final response = await model.generateContent([Content.text("restaurants near me?")]);
print(response.text);

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Unity


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Example: Coordinates for New York City
var latLng = new LatLng(40.7128, -74.0060);

// (Optional) Define a RetrievalConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
var retrievalConfig = new RetrievalConfig(latLng, languageCode: "en");

// Wrap the RetrievalConfig inside a ToolConfig.
var toolConfig = new ToolConfig(retrievalConfig: retrievalConfig);

// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  // Provide Google Maps as a tool that the model can use to generate its response.
  tools: new[] { new Tool(new GoogleMaps()) },
  // Add the configuration for the Grounding with Google Maps tool
  // (if this optional config was defined above).
  toolConfig: toolConfig
);

var response = await model.GenerateContentAsync("restaurants near me?");
UnityEngine.Debug.Log(response.Text ?? "No text in response.");

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Dowiedz się, jak wybrać model odpowiednie do Twojego przypadku użycia i aplikacji.

Sprawdzone metody i wskazówki, które pomogą Ci poprawić wyniki

W tej sekcji opisujemy kilka ogólnych sprawdzonych metod korzystania z groundingu w Google Maps, a także sposób wykorzystania właściwości miejsc do poprawy wyników.

Ogólne sprawdzone metody

  • Udostępniaj narzędzie tylko wtedy, gdy jest to konieczne: aby zoptymalizować wydajność i koszty, udostępniaj modelowi narzędzie Grounding with Google Maps tylko wtedy, gdy przypadek użycia ma wyraźny kontekst geograficzny.

  • Podaj lokalizację użytkownika: aby uzyskiwać najbardziej trafne i spersonalizowane odpowiedzi (oraz gdy lokalizacja użytkownika jest znana), uwzględnij lokalizację użytkownika (podając szerokość i długość geograficzną za pomocą latLng) w konfiguracji narzędzia Grounding with Google Maps.

  • Informowanie użytkowników: wyraźnie poinformuj użytkowników, że do odpowiadania na ich zapytania są używane dane z usługi Google Maps. Udostępnianie użytkownikom źródeł z Google Maps jest wymaganiem dotyczącym korzystania z usługi w przypadku narzędzia Grounding z Google Maps.

Używanie właściwości miejsc w promptach

W tej sekcji znajdziesz listę właściwości miejsc, które służą do opisywania lokalizacji i są używane przez Grounding with Google Maps do generowania odpowiedzi. Te właściwości są używane do określania typów pytań, na które może odpowiadać Grounding with Google Maps.

Przykładowe właściwości miejsca

Ta lista zawiera uporządkowane alfabetycznie przykładowe właściwości miejsc, które mogą być używane przez model do generowania odpowiedzi.

  • Adres
  • Odbiór na zewnątrz
  • Karta debetowa
  • Odległość
  • Bezpłatny parking
  • Muzyka na żywo
  • Menu dla dzieci
  • Godziny otwarcia
  • formy płatności (np. gotówka lub karta kredytowa);
  • Odpowiedź dotycząca miejsca
  • Przyjazne dla zwierząt
  • Oferuje piwo
  • Oferuje dania wegetariańskie
  • Dostępne dla niepełnosprawnych
  • Wi-Fi

Odpowiedzi dotyczące miejsc to odpowiedzi z Grounding with Google Maps oparte na informacjach pochodzących z opinii użytkowników.

Przykładowe prompty, które używają właściwości miejsc

W poniższych przykładach użyto właściwości miejsc w promptach dotyczących różnych typów miejsc. Powiązanie ze źródłem informacji przy użyciu Google Maps wykorzystuje właściwości, aby zrozumieć Twoje intencje, a następnie udziela trafnych odpowiedzi na podstawie danych powiązanych z miejscami w Google Maps.

  • Zaplanuj rodzinną kolację: sprawdź, czy restauracja jest odpowiednia dla rodzin i czy oferuje wygodną obsługę.

    • Przykładowy prompt: Czy „The Italian Place” to dobre miejsce dla dzieci i czy oferują dania na wynos? Jaką mają ocenę?
  • Sprawdzanie ułatwień dostępu dla znajomego: określ, czy lokalizacja spełnia określone potrzeby związane z ułatwieniami dostępu.

    • Przykładowy prompt: Potrzebuję restauracji, która ma wejście dostępne dla osób na wózkach.
  • Znajdowanie miejsca na nocną przekąskę: znajdź otwarty lokal serwujący konkretny posiłek w określonym czasie.

    • Przykładowy prompt: Czy „Burger Joint” jest teraz otwarty? Czy serwują kolację? W jakich godzinach jest otwarty w piątek?
  • Spotkanie z klientem na kawę: oceń, czy kawiarnia nadaje się na spotkanie biznesowe, biorąc pod uwagę udogodnienia, ofertę i formy płatności.

    • Przykładowy prompt: Czy w „Cafe Central” jest Wi-Fi? Czy serwowana jest kawa? Jaki jest poziom cen i czy można płacić kartą kredytową?

Pamiętaj, że informacje w Google Mapswynikach opartych na źródłach mogą się różnić od rzeczywistych warunków na drodze.

Jak działa Grounding with Google Maps

Gdy udostępnisz modelowi narzędzie GoogleMaps, będzie on automatycznie obsługiwać cały proces wyszukiwania, przetwarzania i cytowania informacji.

Oto przepływ pracy modelu:

  1. Otrzymanie prompta: aplikacja wysyła prompta do modelu Gemini z włączonym narzędziem GoogleMaps.

  2. Analizuje prompt: model analizuje prompt i określa, czy Google Maps może ulepszyć swoją odpowiedź, np. jeśli prompt zawiera kontekst geograficzny (np. „kawiarnie w pobliżu”, „muzea w San Francisco”).

  3. Wywołuje narzędzie: model, rozpoznając intencję geograficzną, wywołuje narzędzie Grounding with Google Maps.

  4. Wysyła zapytania do Google Maps: usługa Grounding with Google Maps wysyła zapytania do Google Maps, aby uzyskać odpowiednie informacje (np. miejsca, opinie, zdjęcia, adresy, godziny otwarcia).

    Możesz opcjonalnie podać szerokość i długość geograficzną w konfiguracji narzędzia (lub nawet bezpośrednio w prompcie), aby uzyskać bardziej trafne i spersonalizowane wyniki Google Maps. Narzędzie to służy do wyszukiwania tekstowego i działa podobnie do wyszukiwania w Google Maps, ponieważ zapytania lokalne („w pobliżu”) będą używać współrzędnych, natomiast na zapytania szczegółowe lub nielokalne prawdopodobnie nie będzie miała wpływu konkretna lokalizacja.

  5. Przetwarza wyniki z Google Maps: model przetwarza wyniki z Google Maps i formułuje odpowiedź na pierwotnego prompta.

  6. Zwraca wynik oparty na Google Maps: model zwraca ostateczną, przyjazną dla użytkownika odpowiedź opartą na wynikach z Google Maps. Ta odpowiedź zawiera:

    • Odpowiedź tekstowa modelu.
    • Obiekt groundingMetadata z wynikami i źródłami Google Maps.

Pamiętaj, że udostępnienie Google Maps jako narzędzia dla modelu nie wymaga, aby model zawsze używał narzędzia Google Maps do generowania odpowiedzi. W takich przypadkach odpowiedź nie będzie zawierać obiektu groundingMetadata, więc nie będzie wynikiem opartym na źródłach Google Maps.

Interpretowanie wyniku opartego na źródłach

Jeśli model opiera swoją odpowiedź na wynikach z Google Maps, odpowiedź zawiera obiekt groundingMetadata, który zawiera uporządkowane dane niezbędne do weryfikacji twierdzeń i tworzenia bogatych źródeł w aplikacji.

Obiekt groundingMetadata w Google Maps Grounded Result zawiera te informacje:

  • groundingChunks: tablica obiektów zawierająca źródła maps (uri, placeId i title).
  • groundingSupports: tablica fragmentów, które łączą odpowiedź modelu text ze źródłami w groundingChunks. Każdy fragment łączy tekst segment (zdefiniowany przez startIndex i endIndex) z co najmniej jednym elementem groundingChunkIndices. To pole pomaga tworzyć linki do źródeł w tekście. Więcej informacji o tym, jak spełnić wymagania dotyczące korzystania z usług, znajdziesz w dalszej części tej strony.

Oto przykładowa odpowiedź zawierająca obiekt groundingMetadata:

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "CanteenM is an American restaurant with..."
          }
        ],
        "role": "model"
      },
      "groundingMetadata": {
        "groundingChunks": [
          {
            "maps": {
              "uri": "https://maps.google.com/?cid=13100894621228039586",
              "title": "Heaven on 7th Marketplace",
              "placeId": "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
            }
          }
        ],
        "groundingSupports": [
          {
            "segment": {
              "startIndex": 0,
              "endIndex": 79,
              "text": "CanteenM is an American restaurant with a 4.6-star rating and is open 24 hours."
            },
            "groundingChunkIndices": [0]
          }
        ]
      }
    }
  ]
}

Wymagania dotyczące korzystania z usługi

W tej sekcji opisano wymagania dotyczące korzystania z usługi Grounding with Google Maps w przypadku wybranego dostawcy Gemini API: Gemini Developer API lub Agent Platform Gemini API (formerly Vertex AI) (patrz sekcja Warunki korzystania z usługi w Szczegółowych warunkach korzystania z usługi).

Informowanie użytkowników o źródłach Google Maps

W przypadku każdego Google Mapswyniku opartego na źródłach otrzymasz źródła w groundingChunks, które potwierdzają każdą odpowiedź. Zwracane są też te metadane:

  • identyfikator URI źródła
  • tytuł
  • Identyfikator

W swojej aplikacji, podczas prezentowania wyników z Grounding with Google Maps, musisz określić powiązane źródła Google Maps i poinformować użytkowników o następujących kwestiach:

  • Źródła Google Maps muszą znajdować się bezpośrednio po wygenerowanych treściach, które potwierdzają. Te wygenerowane treści są również nazywane wynikiem opartym na Google Maps.

  • Źródła Google Maps muszą być widoczne w ramach jednej interakcji użytkownika.

Aby uzyskać wartości do wyświetlania źródeł z Google Maps Grounded Result:

Swift

// ...

// Get the model's response
let text = response.text

// Get the grounding metadata
if let candidate = response.candidates.first,
   let groundingMetadata = candidate.groundingMetadata {

  // Get sources
  let groundingChunks = groundingMetadata.groundingChunks
  for chunk in groundingChunks {
    if let maps = chunk.maps {
      let title = maps.title  // for example, "Heaven on 7th Marketplace"
      let url = maps.url  // for example, "https://maps.google.com/?cid=13100894621228039586"
      let placeID = maps.placeID  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
      // TODO(developer): show source in the UI
    }
  }
}

Kotlin

// ...

// Get the model's response
val text = response.text

// Get the grounding metadata
val groundingMetadata = response.candidates.firstOrNull()?.groundingMetadata

// Get sources
val groundingChunks = groundingMetadata?.groundingChunks
groundingChunks?.let { chunks ->
  for (chunk in chunks) {
    val title = chunk.maps?.title  // for example, "Heaven on 7th Marketplace"
    val uri = chunk.maps?.uri  // for example, "https://maps.google.com/?cid=13100894621228039586"
    val placeId = chunk.maps?.placeId  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
    // TODO(developer): show source in the UI
  }
}

Java

// ...

Futures.addCallback(response, new FutureCallback() {
  @Override
  public void onSuccess(GenerateContentResponse result) {
    // Get the model's response
    String text = result.getText();

    // Get the grounding metadata
    GroundingMetadata groundingMetadata =
        result.getCandidates()[0].getGroundingMetadata();

    if (groundingMetadata != null) {
      // Get sources
      List chunks = groundingMetadata.getGroundingChunks();
      if (chunks != null) {
        for(GroundingChunk chunk : chunks) {
          GoogleMapsGroundingChunk maps = chunk.getMaps();
          if (maps != null) {
            String title = maps.getTitle();  // for example, "Heaven on 7th Marketplace"
            String uri = maps.getUri();  // for example, "https://maps.google.com/?cid=13100894621228039586"
            String placeId = maps.getPlaceId();  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
            // TODO(developer): show sources in the UI
          }
        }
      }
    }
  }

  @Override
  public void onFailure(Throwable t) {
    t.printStackTrace();
  }
}, executor);

Web

// ...

// Get the model's text response
const text = result.response.text();

// Get the grounding metadata
const groundingMetadata = result.response.candidates?.[0]?.groundingMetadata;

// Get sources
const groundingChunks = groundingMetadata?.groundingChunks;
if (groundingChunks) {
  for (const chunk of groundingChunks) {
    const title = chunk.maps?.title;  // for example, "Heaven on 7th Marketplace"
    const uri = chunk.maps?.uri;  // for example, "https://maps.google.com/?cid=13100894621228039586"
    const placeId = chunk.maps?.placeId;  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
    // TODO(developer): show sources in the UI
  }
}

Dart

// ...

// Get the model's response
final text = response.text;

// Get the grounding metadata
final groundingMetadata = response.candidates.first.groundingMetadata;

// Get sources
final groundingChunks = groundingMetadata?.groundingChunks;
if (groundingChunks != null) {
  for (var chunk in groundingChunks) {
    final title = chunk.maps?.title;  // for example, "Heaven on 7th Marketplace"
    final uri = chunk.maps?.uri;  // for example, "https://maps.google.com/?cid=13100894621228039586"
    final placeId = chunk.maps?.placeId;  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
    // TODO(developer): show sources in the UI
  }
}

Unity

// ...

// Get the model's response.
var text = response.Text;

// Get the grounding metadata.
var groundingMetadata = response.Candidates.First().GroundingMetadata;

// Get sources.
if (groundingMetadata != null) {
  foreach(GroundingChunk chunk in groundingMetadata?.GroundingChunks) {
    if (chunk.Maps != null) {
      var title = chunk.Maps?.Title;  // for example, "Heaven on 7th Marketplace"
      var uri = chunk.Maps?.Uri;  // for example, "https://maps.google.com/?cid=13100894621228039586"
      var placeId = chunk.Maps?.PlaceId;  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
      // TODO(developer): show sources in the UI
    }
  }
}

W przypadku każdego źródła w groundingChunks podgląd linku musi zostać wygenerowany zgodnie z tymi wymaganiami:

Prompt z odpowiedzią i źródłami

Możesz zwinąć widok źródeł.

Prompt ze zwiniętą odpowiedzią i źródłami

Opcjonalnie możesz wzbogacić podgląd linku o dodatkowe treści, takie jak:

  • Favicon Google Maps wstawiony przed tekstem atrybucji Google Maps.
  • Zdjęcie z URL-a źródłowego (og:image).

Więcej informacji o niektórych dostawcach danych Google Maps i warunkach ich licencji znajdziesz w informacjach prawnych dotyczących Map Google i Google Earth.

Google Maps wskazówki dotyczące informacji o pochodzeniu danych tekstowych

Gdy przypisujesz źródła do Google Maps w tekście, postępuj zgodnie z tymi wytycznymi:

  • Nie zmieniaj tekstu Google Maps w żaden sposób:

    • Nie zmieniaj wielkości liter w tekście Google Maps.
    • Nie zawijaj tekstu Google Maps do wielu wierszy.
    • Nie tłumacz tekstu Google Maps na inny język.
    • Aby uniemożliwić przeglądarkom tłumaczenie tekstu Google Maps, użyj atrybutu HTML translate="no".
  • Sformatuj tekst Google Maps zgodnie z opisem w tej tabeli:

    Właściwość Styl
    Rodzina czcionek Roboto. Wczytywanie czcionki jest opcjonalne.
    Rodzina czcionek zastępczych Dowolna czcionka bezszeryfowa używana już w Twojej usłudze lub „Sans-Serif”, aby wywołać domyślną czcionkę systemową.
    Styl czcionki Normalnie
    Grubość czcionki 400
    Kolor czcionki Biały, czarny (#1F1F1F) lub szary (#5E5E5E). Zachowaj dostępny kontrast (4,5:1) względem tła.
    Rozmiar czcionki Minimalny rozmiar czcionki: 12 sp
    Maksymalny rozmiar czcionki: 16 sp
    Aby dowiedzieć się więcej o jednostce sp, zapoznaj się z sekcją dotyczącą jednostek rozmiaru czcionki na stronie Material Design.
    Odstępy Normalnie

Przykładowy kod CSS

Poniższy kod CSS renderuje tekst Google Maps z odpowiednim stylem typograficznym i kolorem na białym lub jasnym tle.

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
  font-family: Roboto, Sans-Serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: normal;
  white-space: nowrap;
  color: #5e5e5e;
}

Zapisywanie identyfikatora miejsca w pamięci podręcznej

Google Maps Grounded Result może zawierać identyfikator miejsca. Możesz przechowywać w pamięci podręcznej, zapisywać i eksportować te dane odpowiedzi:

  • placeId

Ograniczenia dotyczące buforowania w Warunkach korzystania z usługi powiązania ze źródłami informacji przy użyciu Map Google nie mają zastosowania do tych danych.

Zabronione działania i terytoria

Aby platforma była bezpieczna i niezawodna, w przypadku niektórych treści i działań obowiązują dodatkowe ograniczenia dotyczące groundingu za pomocą Google Maps. Oprócz ograniczeń dotyczących korzystania z usługi zawartych w Warunkach wybranego dostawcy Gemini API: Gemini Developer API lub Agent Platform Gemini API (formerly Vertex AI) (patrz sekcja Warunki korzystania z usługi w Szczegółowych warunkach korzystania z usługi).

  • Nie będziesz używać Groundingu z Google Maps do działań wysokiego ryzyka, w tym do usług służb ratowniczych.

  • Nie będziesz rozpowszechniać ani sprzedawać swojej aplikacji, która oferuje Grounding z Google Maps, w Zabronionych krajach. Więcej informacji znajdziesz w artykule Terytoria objęte zakazem Google Maps Platform. Lista Zakazanych terytoriów może być okresowo aktualizowana.

Wyniki oparte na źródłach i monitorowanie wykorzystania AI w konsoli Firebase

Jeśli masz włączone monitorowanie wykorzystania AI w konsoli Firebase, odpowiedzi są przechowywane w Cloud Logging. Domyślnie te dane są przechowywane przez 30 dni.

Musisz zadbać o to, aby ten okres przechowywania lub dowolny ustawiony przez Ciebie okres niestandardowy był w pełni zgodny z Twoim konkretnym przypadkiem użycia i wszelkimi dodatkowymi wymaganiami dotyczącymi zgodności wybranego dostawcy Gemini API: Gemini Developer API lub Agent Platform Gemini API (formerly Vertex AI) (patrz sekcja Warunki korzystania z usługi w Szczegółowych warunkach korzystania z usługi). Aby spełnić te wymagania, konieczne może być dostosowanie okresu przechowywania w Cloud Logging.

Ceny i ograniczenia liczby żądań

Ceny usługi Grounding with Google Maps są oparte na zapytaniach. Żądanie jest wliczane do limitu Google Maps tylko wtedy, gdy prompt zwróci co najmniej 1 Google Mapsuziemiony wynik (co oznacza, że odpowiedź zawiera co najmniej 1 źródło Google Maps). Jeśli w ramach jednego żądania do Google Maps zostanie wysłanych kilka zapytań, będzie to liczone jako jedno żądanie w ramach limitu liczby żądań.

Zapoznaj się ze szczegółami dotyczącymi cen, dostępności modeli i limitów związanych z Grounding with Google Maps w dokumentacji wybranego dostawcy Gemini API: Gemini Developer API | Agent Platform Gemini API (formerly Vertex AI).