تتيح ميزة Grounding with
يوفّر التأسيس باستخدام
- زيادة الدقة الواقعية: تقليل الهلوسة في النماذج من خلال استناد الردود إلى قاعدة بيانات Google التي تضم أكثر من 250 مليون مكان ونشاط تجاري في العالم الحقيقي
- الوصول إلى معلومات في الوقت الفعلي: الإجابة عن الأسئلة باستخدام بيانات مباشرة، مثل ساعات العمل الحالية والحالة في الوقت الفعلي لمحطات شحن المركبات الكهربائية
- توفير سياق مرئي: يمكنك بناء ثقة المستخدمين من خلال دمج أدوات تفاعلية للخريطة وصور و"تجوّل افتراضي" مباشرةً مع الادعاءات المستندة إلى الموقع الجغرافي التي يقدّمها النموذج.
النماذج المتوافقة
gemini-3.1-pro-previewgemini-3.5-flashgemini-3.1-flash-litegemini-2.5-progemini-2.5-flashgemini-2.5-flash-lite
اللغات المتاحة
اطّلِع على اللغات المتاحة في نماذج Gemini.
تأسيس النموذج باستخدام Google Maps
|
انقر على مقدّم خدمة Gemini API لعرض المحتوى والرمز الخاصين بمقدّم الخدمة على هذه الصفحة. |
عند إنشاء مثيل GenerativeModel، قدِّم GoogleMaps كـ tool
يمكن أن يستخدمه النموذج لإنشاء الردّ.
Swift
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
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
تعرَّف على كيفية اختيار نموذج اختياري مناسبَين لحالة الاستخدام والتطبيق.
أفضل الممارسات والنصائح لتحسين النتائج
يوضّح هذا القسم بعض أفضل الممارسات العامة لاستخدام Grounding مع
أفضل الممارسات العامة
توفير الأداة عند الحاجة فقط: لتحسين الأداء والتكلفة، امنح النموذج إذن الوصول إلى أداة Grounding with
Google Maps فقط عندما يكون لحالة الاستخدام سياق جغرافي واضح.توفير الموقع الجغرافي للمستخدم: للحصول على الردود الأكثر صلة وتخصيصًا (وعندما يكون الموقع الجغرافي للمستخدم معروفًا)، يجب تضمين الموقع الجغرافي للمستخدم (باستخدام خطوط الطول والعرض من خلال
latLng) في إعدادات أداة Grounding withGoogle Maps .إبلاغ المستخدمين النهائيين: يجب إبلاغ المستخدمين النهائيين بوضوح بأنّه يتم استخدام بيانات
Google Maps للإجابة عن طلباتهم. إنّ تزويد المستخدمين النهائيين بالمصادر منGoogle Maps هو شرط لاستخدام الخدمة في أداة Grounding withGoogle Maps .(حزمة تطوير البرامج (SDK) للويب فقط) عرض
Google Maps الأداة السياقية: يتم عرض الأداة السياقية باستخدام الرمز المميّز للسياق،googleMapsWidgetContextToken، الذي يتم عرضه في الرد Gemini API ويمكن استخدامه لعرض المحتوى المرئي منGoogle Maps . لمزيد من المعلومات حول الأداة السياقية، راجِع الاستناد إلى أداةGoogle Maps في مستنداتGoogle Maps .
استخدام خصائص الأماكن في الطلبات
يسرد هذا القسم خصائص الأماكن المستخدَمة لوصف المواقع الجغرافية والتي تستخدمها ميزة Grounding with
نماذج لخصائص الأماكن
تقدّم هذه القائمة عيّنة مرتّبة أبجديًا من الخصائص المتعلّقة بالأماكن التي يمكن أن يستخدمها النموذج لإنشاء ردود.
- العنوان
- الإيصال إلى السيارة
- بطاقة السحب الآلي
- المسافة
- موقف سيارات مجاني
- موسيقى حية
- قائمة طعام للأطفال
- ساعات العمل
- خيارات الدفع (مثل الدفع نقدًا أو بطاقة الائتمان)
- الإجابة المتعلقة بالمكان
- مناسب للحيوانات الأليفة
- تقديم البيرة
- يقدّم المكان المأكولات النباتية
- أنشطة مناسبة لأصحاب الكراسي المتحرّكة
- Wifi
إجابات الأماكن هي ردود من Grounding with
أمثلة على الطلبات التي تستخدم سمات الأماكن
تستخدِم الأمثلة التالية سمات الأماكن في الطلبات المتعلقة بأنواع مختلفة من الأماكن. وتستخدِم عملية التأسيس باستخدام
التخطيط لعشاء عائلي: تحديد ما إذا كان المطعم مناسبًا للعائلات وما إذا كان يقدّم خدمة ملائمة
- مثال على الطلب: هل مطعم "المكان الإيطالي" مناسب للأطفال؟ وهل يقدّم خدمة توصيل الطلبات؟ وما هو تقييمه؟
التحقّق من إمكانية الوصول إلى مكان ما لصديق: يمكنك معرفة ما إذا كان المكان يستوفي احتياجات الوصول المحدّدة.
- مثال على الطلب: أحتاج إلى مطعم يوفّر مدخلاً صالحًا للكراسي المتحركة.
العثور على مكان لتناول وجبة خفيفة في وقت متأخر من الليل: يمكنك العثور على مؤسسة مفتوحة تقدّم وجبة معيّنة خلال وقت محدّد.
- مثال على الطلب: هل مطعم "برغر جوينت" مفتوح الآن؟ هل يقدّم العشاء؟ ما هي ساعات عمله يوم الجمعة؟
مقابلة عميل في مقهى: تقييم مدى ملاءمة مقهى لعقد اجتماع عمل استنادًا إلى وسائل الراحة والعروض وخيارات الدفع
- مثال على طلب: هل يوفّر مقهى "سنترال" شبكة Wi-Fi؟ هل يقدّم هذا المكان القهوة؟ ما هو مستوى الأسعار وهل يقبلون بطاقات الائتمان؟
يُرجى العِلم أنّ المعلومات الواردة في
طريقة عمل ميزة Grounding with Google Maps
عندما تقدّم GoogleMaps الأداة إلى النموذج، سيتولّى النموذج تلقائيًا سير العمل الكامل المتمثل في البحث عن المعلومات ومعالجتها والاقتباس منها.
في ما يلي سير عمل النموذج:
تلقّي الطلب: يرسل تطبيقك طلبًا إلى نموذج Gemini مع تفعيل الأداة
GoogleMaps.تحليل الطلب: يحلّل النموذج الطلب ويحدّد ما إذا كان بإمكانه تحسين الردّ، مثلاً، إذا كان الطلب يتضمّن سياقًا جغرافيًا (مثل "مقاهٍ بالقرب مني" أو "متاحف في القاهرة").
Google Maps استدعاء الأداة: يستدعي النموذج أداة Grounding with
Google Maps بعد التعرّف على النية الجغرافية.إرسال طلبات البحث إلى
Google Maps : ترسل خدمة Grounding withGoogle Maps طلبات البحث إلىGoogle Maps للحصول على معلومات ذات صلة (على سبيل المثال، الأماكن والمراجعات والصور والعناوين وساعات العمل).يمكنك اختياريًا تضمين خطوط الطول والعرض في إعدادات الأداة (أو حتى في الطلب مباشرةً) للحصول على نتائج
Google Maps أكثر صلة بالموضوع ومخصّصة. الأداة هي أداة بحث نصي وتعمل بشكل مشابه للبحث علىGoogle Maps ، إذ إنّ طلبات البحث المحلية ("بالقرب مني") ستستخدم الإحداثيات، بينما من غير المرجّح أن تتأثر طلبات البحث المحدّدة أو غير المحلية بالموقع الجغرافي الواضح.معالجة نتائج
Google Maps : يعالج النموذج نتائجGoogle Maps ويصيغ ردًا على الطلب الأصلي.عرض
Google Maps نتيجة مستندة إلى مصادر: يعرض النموذج ردًا نهائيًا سهل الاستخدام مستندًا إلىGoogle Maps النتائج. يتضمّن هذا الردّ ما يلي:- تمثّل هذه السمة الإجابة النصية التي قدّمها النموذج.
- عنصر
groundingMetadataيتضمّن نتائجGoogle Maps ومصادرها - (حزمة تطوير البرامج (SDK) للويب فقط) يمكنك اختياريًا استخدام googleMapsWidgetContextToken الذي يتيح لك عرض أداة
Google Maps سياقية في تطبيقك للتفاعل المرئي. لمزيد من المعلومات حول الأداة السياقية، راجِع الاستناد إلى أداةGoogle Maps في مستنداتGoogle Maps .
يُرجى العِلم أنّ توفير groundingMetadata، وبالتالي لن يكون
فهم النتيجة الموثوقة
إذا استند النموذج في رده إلى نتائج groundingMetadata يحتوي على بيانات منظَّمة ضرورية للتحقّق من صحة الادعاءات وتقديم تجربة غنية بالمصادر في تطبيقك.
يحتوي العنصر groundingMetadata في
groundingChunks: مصفوفة من العناصر التي تحتوي على مصادرmaps(uriوplaceIdوtitle).-
groundingSupports: مصفوفة من الأجزاء لربط ردّ النموذجtextبالمستندات المصدر فيgroundingChunksيربط كل جزء نصًاsegment(محدّدًا بواسطةstartIndexوendIndex) بواحد أو أكثر منgroundingChunkIndices. يساعدك هذا الحقل في إنشاء روابط المصدر المضمّنة. يمكنك الاطّلاع على كيفية استيفاء متطلبات استخدام الخدمة لاحقًا في هذه الصفحة. - (حزمة تطوير البرامج (SDK) للويب فقط)
googleMapsWidgetContextToken: رمز مميّز نصي يمكن استخدامه لعرض أداة Places السياقية. لا يتم عرض هذا الحقل إلا عند استخدام حزمة تطوير البرامج (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
مع كل groundingChunks تؤيّد كل ردّ، كما سيتم عرض البيانات الوصفية التالية:
- معرّف الموارد المنتظم (URI) للمصدر
- العنوان
- رقم التعريف
عند عرض نتائج من Grounding with
يجب أن تتبع مصادر
Google Maps المحتوى الذي تم إنشاؤه مباشرةً، والذي تدعمه المصادر. يُشار أيضًا إلى هذا المحتوى الذي تم إنشاؤه باسمGoogle Maps نتيجة مستندة إلى مصادر.يجب أن تكون مصادر
Google Maps قابلة للعرض من خلال تفاعل واحد من المستخدم.
في ما يلي كيفية الحصول على قيم لعرض المصادر من
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
}
}
}
عرض Google Maps مصدرًا مع Google Maps رابط
بالنسبة إلى كل مصدر في groundingChunks،
يجب إنشاء معاينة للرابط وفقًا للمتطلبات التالية:
- حدِّد مصدر كل نص على أنّه
Google Maps باتّباعGoogle Maps إرشادات تحديد مصدر النص. - عرض عنوان المصدر المقدَّم في الرد
- انقر على
uriفي الردّ للانتقال إلى مصدر المعلومات.
يمكنك تصغير عرض المصادر.
يمكنك اختياريًا تحسين معاينة الرابط باستخدام محتوى إضافي، مثل:
- يتم إدراج
Google Maps رمز الموقع قبلGoogle Maps بيان مصدر النص. - تمثّل هذه السمة صورة من عنوان URL المصدر (
og:image).
لمزيد من المعلومات حول بعض
Google Maps إرشادات تحديد المصدر النصية
عند الإشارة إلى المصادر باستخدام
لا تعدِّل النص
Google Mapsبأي شكل من الأشكال:- لا تغيِّر كتابة النص بالأحرف الكبيرة
Google Maps. - لا تلتفّ الكلمة
Google Mapsعلى عدة أسطر. - لا تقم بتوطين النص
Google Mapsإلى لغة أخرى. - لمنع المتصفّحات من ترجمة النص
Google Maps، استخدِم سمة HTMLtranslate="no".
- لا تغيِّر كتابة النص بالأحرف الكبيرة
نسِّق النص
Google Mapsكما هو موضّح في الجدول التالي:الموقع النمط مجموعة الخطوط Roboto: تحميل الخط اختياري. مجموعة الخطوط الاحتياطية أي خط sans serif مستخدَم حاليًا في منتجك أو "Sans-Serif" لاستخدام خط النظام التلقائي نمط الخط عادي عرض الخط 400 لون الخط أبيض أو أسود (#1F1F1F) أو رمادي (#5E5E5E) الحفاظ على تباين يسهل الوصول إليه (4.5:1) مع الخلفية حجم الخط الحد الأدنى لحجم الخط: 12 وحدة sp
الحد الأقصى لحجم الخط: 16 وحدة sp
للتعرّف على وحدات sp، يمكنك الاطّلاع على وحدات حجم الخط على موقع التصميم المتعدد الأبعاد الإلكتروني.التباعد عادي
مثال على 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;
}
تخزين الرمز المميز للسياق ومعرّف المكان مؤقتًا
قد تتضمّن
- (حزمة تطوير البرامج على الويب فقط)
googleMapsWidgetContextToken placeId
لا تنطبق القيود المفروضة على التخزين المؤقت في "بنود خدمة استخدام "خرائط Google" كمصدر" على هذه البيانات.
الأنشطة والأقاليم المحظورة
يفرض
لن تستخدم Grounding مع
Google Maps في الأنشطة عالية الخطورة، بما في ذلك خدمات الاستجابة لحالات الطوارئ.لن توزّع أو تسوّق تطبيقك الذي يوفّر خدمة Grounding مع
Google Maps في منطقة محظورة. لمزيد من المعلومات، يُرجى الاطّلاع على المناطق المحظورة في "منصة خرائط Google". قد يتم تعديل قائمة "المناطق المحظورة" من حين لآخر.
النتائج المستندة إلى معلومات موثوقة وتتبّع استخدام الذكاء الاصطناعي في وحدة تحكّم Firebase
إذا فعّلت ميزة تتبّع استخدام الذكاء الاصطناعي في Firebase، سيتم تخزين الردود في Cloud Logging. بشكلٍ تلقائي، تبلغ مدة فترة التخزين لهذه البيانات 30 يومًا.
وتتحمّل أنت مسؤولية التأكّد من أنّ فترة التخزين هذه أو أي فترة مخصّصة تحدّدها تتوافق تمامًا مع حالة الاستخدام المحدّدة وأي متطلبات امتثال إضافية لموفّر Gemini API الذي اخترته: Gemini Developer API أو Vertex AI Gemini API (راجِع قسم بنود الخدمة ضمن البنود الخاصة بالخدمة). وقد تحتاج إلى تعديل فترة التخزين في Cloud Logging لتلبية هذه المتطلبات.
الأسعار وحدود الاستخدام
تستند عملية تحديد السعر
يُرجى مراجعة التفاصيل حول الأسعار ومدى توفّر النموذج والحدود القصوى لاستخدام ميزة "الاستناد إلى بيانات خارجية" مع