Заземление с помощью Google Maps

Функция Grounding with Google Maps подключает модель Gemini к геопространственным данным из Google Maps , позволяя интегрировать в приложения функции, учитывающие местоположение.

Использование Google Maps для определения местоположения имеет следующие преимущества:

  • Повышение точности фактов : уменьшение количества ошибок, связанных с некорректными моделями ответов, за счет использования базы данных Google, содержащей более 250 миллионов реальных мест и предприятий.
  • Получайте доступ к информации в режиме реального времени : отвечайте на вопросы, используя актуальные данные, такие как текущее время работы и состояние зарядных станций для электромобилей.
  • Обеспечьте визуальный контекст : укрепите доверие пользователей, интегрировав интерактивные виджеты карты, фотографии и Street View непосредственно рядом с данными о местоположении, полученными с помощью модели.

Поддерживаемые модели

  • gemini-3.1-pro-preview
  • gemini-3-flash-preview
  • gemini-3.1-flash-lite
  • gemini-2.5-pro
  • gemini-2.5-flash
  • gemini-2.5-flash-lite

Поддерживаемые языки

Список поддерживаемых языков для моделей Gemini см . в соответствующем разделе.

Привяжите модель к Google Maps

Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него.

При создании экземпляра GenerativeModel укажите GoogleMaps в качестве tool , который модель сможет использовать для генерации ответа.

Быстрый


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: [Tool.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.
    // (Optional) Set `enableWidget` to control whether the response contains a `googleMapsWidgetContextToken`.
    tools: [ { googleMaps: { enableWidget: true } } ],
    // 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',
  ),
);

// 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

Единство


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

Узнайте, как выбрать модель.подходит для вашего сценария использования и приложения.

Для достижения оптимальных результатов используйте температуру 1,0 (это значение по умолчанию для всех моделей Gemini 2.5 и более поздних версий). Узнайте, как установить температуру в настройках модели .

Лучшие практики и советы для улучшения результатов

В этом разделе описаны некоторые общие рекомендации по использованию функции Grounding в Google Maps , а также способы использования свойств мест для улучшения результатов.

Общие передовые методы

  • Предоставляйте инструмент только при необходимости : для оптимизации производительности и затрат предоставляйте модели доступ к инструменту «Привязка к географическим координатам Google Maps только тогда, когда сценарий использования имеет четкий географический контекст.

  • Укажите местоположение пользователя : для получения наиболее релевантных и персонализированных ответов (и когда местоположение пользователя известно) укажите местоположение пользователя (используя широту и долготу через latLng ) в настройках инструмента «Привязка к Google Maps .

  • Информируйте конечных пользователей : Четко объясните конечным пользователям, что данные Google Maps используются для ответа на их запросы. Предоставление конечным пользователям источников данных из Google Maps является обязательным требованием для использования инструмента Grounding with Google Maps .

  • (Только для Web SDK) Отображение контекстного виджета Google Maps : Контекстный виджет отображается с использованием контекстного токена googleMapsWidgetContextToken , который возвращается в ответе API Gemini и может использоваться для отображения визуального контента из Google Maps . Для получения дополнительной информации о контекстном виджете см. раздел «Привязка к виджету Google Maps в документации Google Maps .

Используйте свойства размещения в подсказках.

В этом разделе перечислены свойства мест , используемые для описания местоположений и применяемые сервисом Grounding with Google Maps для генерации ответов. Эти свойства используются для определения типов вопросов, на которые может ответить Grounding with Google Maps .

Примеры характеристик мест

Этот список представляет собой упорядоченный по алфавиту перечень свойств мест, которые могут быть использованы вашей моделью для генерации ответов.

  • Адрес
  • Самовывоз у обочины
  • Дебетовая карта
  • Расстояние
  • Бесплатная парковка
  • Живая музыка
  • Детское меню
  • Часы работы
  • Варианты оплаты (например, наличные или кредитная карта )
  • Введите ответ
  • Разрешено проживание с домашними животными
  • Подает пиво
  • В меню вегетарианские блюда.
  • Доступно для инвалидных колясок
  • Wi-Fi

Ответы на вопросы о местоположении — это данные, полученные от функции Grounding with Google Maps на основе отзывов пользователей.

Примеры подсказок, использующих свойства мест.

В следующих примерах используются свойства мест в запросах, касающихся различных типов мест. Функция Grounding with Google Maps использует эти свойства, чтобы понять ваши намерения, а затем предоставляет соответствующие ответы на основе данных, связанных с местами в Google Maps .

  • Спланируйте семейный ужин : определите, подходит ли ресторан для семейного отдыха и предлагает ли он удобное обслуживание.

    • Пример вопроса: Подходит ли ресторан "The Italian Place" для детей, и предлагают ли они еду на вынос? Какой у них рейтинг?
  • Проверьте доступность для друга : определите, соответствует ли данное место конкретным потребностям людей с ограниченными возможностями.

    • Пример задания: Мне нужен ресторан с входом, доступным для людей в инвалидных колясках.
  • Найдите место, где можно перекусить поздно вечером : найдите открытое заведение, предлагающее определенное блюдо в определенное время.

    • Пример вопроса: Открыт ли сейчас ресторан "Burger Joint"? Подают ли они ужин? Каковы часы работы в пятницу?
  • Встреча с клиентом за чашкой кофе : Оцените пригодность кафе для деловой встречи, исходя из предоставляемых услуг, предложений и вариантов оплаты.

    • Пример вопроса: Есть ли в "Cafe Central" Wi-Fi? Подают ли там кофе? Каковы их ценовые категории, и принимают ли они кредитные карты?

Обратите внимание, что информация в результатах поиска Google Maps Grounded Results может отличаться от фактического состояния дороги.

Как работает функция определения местоположения с помощью Google Maps

Если вы предоставите модели инструмент GoogleMaps , модель автоматически выполнит весь рабочий процесс поиска, обработки и цитирования информации.

Вот схема работы модели :

  1. Получен запрос : Ваше приложение отправляет запрос модели Gemini с включенным инструментом GoogleMaps .

  2. Анализ запроса : Модель анализирует запрос и определяет, может ли Google Maps улучшить свой ответ, например, если запрос содержит географический контекст (например, «кофейни рядом со мной», «музеи в Сан-Франциско»).

  3. Запуск инструмента : Модель, распознавая географическое местоположение, запускает инструмент «Привязка к Google Maps .

  4. Сервис Grounding with Google Maps отправляет запросы в Google Maps : он запрашивает у Google Maps необходимую информацию (например, о местах, отзывах, фотографиях, адресах, часах работы).

    При желании вы можете указать широту и долготу в конфигурации инструмента (или даже просто в подсказке) для получения более релевантных и персонализированных результатов поиска Google Maps . Инструмент представляет собой текстовый поиск и работает аналогично поиску в Google Maps : локальные запросы («рядом со мной») будут использовать координаты, в то время как конкретные или нелокальные запросы вряд ли будут зависеть от указанного местоположения.

  5. Обработка результатов поиска Google Maps : Модель обрабатывает результаты поиска в Google Maps и формирует ответ на исходный запрос.

  6. Возвращает результат, соответствующий Google Maps : Модель возвращает окончательный, удобный для пользователя ответ, основанный на результатах поиска Google Maps . Этот ответ включает в себя:

    • Текстовый ответ модели.
    • Объект groundingMetadata , содержащий результаты поиска и источники данных Google Maps .
    • (Только для Web SDK) Дополнительно можно использовать googleMapsWidgetContextToken, позволяющий отображать контекстный виджет Google Maps в вашем приложении для визуального взаимодействия. Дополнительную информацию о контекстном виджете см. в разделе «Привязка к виджету Google Maps в документации Google Maps .

Обратите внимание, что предоставление Google Maps в качестве инструмента модели не обязывает модель всегда использовать Google Maps инструмент для генерации ответа. В таких случаях ответ не будет содержать объект groundingMetadata и, следовательно, не будет являться результатом, соответствующим Google Maps .

Поймите обоснованный результат

Если модель основывает свой ответ на результатах поиска Google Maps , то ответ включает объект groundingMetadata , содержащий структурированные данные, необходимые для проверки утверждений и создания удобного интерфейса для работы с источниками данных в вашем приложении.

Объект groundingMetadata в результате поиска Google Maps Grounded Result содержит следующую информацию:

  • groundingChunks : Массив объектов, содержащих источники maps ( uri , placeId и title ).
  • groundingSupports : Массив фрагментов для связи text ответа модели с источниками в groundingChunks . Каждый фрагмент связывает текстовый segment (определяемый параметрами startIndex и endIndex ) с одним или несколькими groundingChunkIndices . Это поле помогает создавать встроенные ссылки на источники. Подробнее о том, как выполнить требования к использованию сервиса, читайте далее на этой странице.
  • (Только для Web SDK) googleMapsWidgetContextToken : текстовый токен, который можно использовать для отображения контекстного виджета «Места» . Это поле возвращается только при использовании Web SDK и если вы установили параметр enableWidget в true .

Вот пример ответа, который включает объект 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]
          }
        ],
        "googleMapsWidgetContextToken": "widgetcontent/..."
      }
    }
  ]
}

Требования к использованию сервиса

В этом разделе описаны требования к использованию сервиса Grounding with Google Maps для выбранного вами поставщика API Gemini : Gemini Developer API или Vertex AI Gemini API (см. раздел «Условия предоставления услуг » в рамках условий предоставления конкретных услуг).

Информируйте пользователей об источниках данных Google Maps

Для каждого результата поиска Google Maps Grounded Result вы получите источники в groundingChunks , которые подтверждают каждый ответ. Также возвращаются следующие метаданные:

  • источник uri
  • заголовок
  • ИДЕНТИФИКАТОР

В вашем приложении при отображении результатов поиска по Google Maps необходимо указать соответствующие источники Google Maps и сообщить пользователям следующую информацию:

  • Исходные данные Google Maps должны непосредственно следовать за сгенерированным контентом, который эти источники поддерживают. Этот сгенерированный контент также называется результатом, соответствующим Google Maps .

  • Исходные данные Google Maps должны быть доступны для просмотра в рамках одного взаимодействия пользователя.

Вот как получить значения для отображения источников из результата поиска Google Maps Grounded Result :

Быстрый

// ...

// 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
  }
}

Единство

// ...

// 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
    }
  }
}

Для каждого источника в groundingChunks необходимо сгенерировать предварительный просмотр ссылки в соответствии со следующими требованиями:

Запрос с указанием источников ответа.

Вы можете свернуть отображение источников.

Оперативный ответ, но источники информации оказались недоступны.

При желании вы можете дополнить предварительный просмотр ссылки дополнительным контентом, например:

  • Значок Google Maps , вставленный перед текстом с указанием Google Maps .
  • Фотография взята из исходного URL ( og:image ).

Для получения дополнительной информации о некоторых поставщиках данных Google Maps и условиях их лицензирования см. юридические уведомления Google Maps и Google Earth .

Рекомендации Google Maps по указанию авторства текста

При указании источников Google Maps в тексте следуйте этим рекомендациям:

  • Не изменяйте текст Google Maps никаким образом:

    • Не меняйте регистр текста Google Maps .
    • Не переносите текст Google Maps на несколько строк.
    • Не локализуйте текст Google Maps на другой язык.
    • Предотвратите перевод текста Google Maps браузерами, используя HTML-атрибут translate="no" .
  • Оформите текст Google Maps в соответствии с описанием в следующей таблице:

    Свойство Стиль
    Семейство шрифтов Roboto. Загрузка шрифта необязательна.
    Семейство шрифтов Fallback Любой шрифт без засечек, уже используемый в вашем продукте, или "Sans-Serif" для вызова системного шрифта по умолчанию.
    стиль шрифта Нормальный
    Толщина шрифта 400
    цвет шрифта Белый, черный (#1F1F1F) или серый (#5E5E5E). Сохраняйте доступный контраст (4,5:1) с фоном.
    размер шрифта Минимальный размер шрифта: 12sp
    Максимальный размер шрифта: 16sp
    Чтобы узнать больше о sp, см. раздел «Единицы измерения размера шрифта» на веб-сайте Material Design .
    Расстояние Нормальный

Пример CSS

Приведенный ниже CSS-код отображает текст Google Maps с соответствующим типографическим стилем и цветом на белом или светлом фоне.

@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;
}

Кэширование контекстного токена и идентификатора места.

Результат поиска Google Maps Grounded может включать контекстный токен и идентификатор места. Вы можете кэшировать, сохранять и экспортировать следующие данные ответа:

  • (Только для Web SDK) googleMapsWidgetContextToken
  • placeId

Ограничения на кэширование, указанные в Условиях использования Grounding with Google Maps, на эти данные не распространяются.

Запрещенная деятельность и территории

Использование Google Maps с дополнительными ограничениями распространяется на определенный контент и действия, необходимые для обеспечения безопасности и надежности платформы. Помимо ограничений использования, указанных в Условиях для выбранного вами поставщика API Gemini : Gemini Developer API или Vertex AI Gemini API (см. раздел « Условия предоставления услуг» в Условиях предоставления конкретных услуг).

  • Функция Grounding в Google Maps не подходит для мероприятий с высоким риском, включая вызовы экстренных служб.

  • Вы не будете распространять или продавать свое приложение, предлагающее функцию «Приземление с помощью Google Maps на запрещенной территории. Для получения дополнительной информации см. раздел «Запрещенные территории платформы Google Maps» . Список запрещенных территорий может периодически обновляться.

Анализ результатов и мониторинг с помощью ИИ в консоли Firebase

Если вы включили мониторинг ИИ в консоли Firebase , ответы сохраняются в Cloud Logging . По умолчанию срок хранения этих данных составляет 30 дней.

Вы несете ответственность за то, чтобы этот период хранения, или любой другой установленный вами период, полностью соответствовал вашему конкретному сценарию использования и любым дополнительным требованиям соответствия для выбранного вами поставщика API Gemini : Gemini Developer API или Vertex AI Gemini API (см. раздел « Условия предоставления услуг » в Условиях предоставления услуг). Возможно, вам потребуется скорректировать период хранения в Cloud Logging для соответствия этим требованиям.

Ограничения по ценам и тарифам

Ценообразование для Google Maps основано на количестве запросов. Запрос засчитывается в квоту Google Maps только в том случае, если запрос успешно возвращает хотя бы один результат Google Maps Grounded Result (то есть ответ содержит хотя бы один источник Google Maps ). Если в Google Maps отправляется несколько запросов из одного запроса, это засчитывается как один запрос в лимит запросов.

Обязательно ознакомьтесь с подробной информацией о ценах, доступности моделей и ограничениях для функции Grounding with Google Maps в документации выбранного вами поставщика API Gemini : Gemini Developer API |Vertex AI Gemini API .