- जानकारी की सटीकता बढ़ाना: Google के डेटाबेस में 25 करोड़ से ज़्यादा असल जगहों और कारोबारों की जानकारी मौजूद है. इस डेटाबेस के आधार पर जवाब देकर, मॉडल के गलत जवाब देने की समस्या को कम किया जा सकता है.
- रीयल टाइम में जानकारी पाना: लाइव डेटा का इस्तेमाल करके सवालों के जवाब दिए जा सकते हैं. जैसे, कारोबार के मौजूदा समय और ईवी चार्जिंग स्टेशन की रीयल टाइम में स्थिति.
- विज़ुअल कॉन्टेक्स्ट देना: मॉडल के दावे, जगह की जानकारी पर आधारित होते हैं. इन दावों के साथ, इंटरैक्टिव मैप विजेट, फ़ोटो, और Street View को सीधे तौर पर इंटिग्रेट करके, उपयोगकर्ताओं का भरोसा जीता जा सकता है.
इस्तेमाल किए जा सकने वाले मॉडल
gemini-3.1-pro-previewgemini-3.7-flash(और इसके पुराने वर्शनgemini-3.6-flashऔरgemini-3.5-flash)gemini-3.5-flash-lite(और इसका पुराना वर्शनgemini-3.1-flash-lite)
आम तौर पर इस्तेमाल किए जाने वाले Gemini 2.5 मॉडल, इस सुविधा के साथ काम करते हैं. हालांकि, इन्हें अब इस्तेमाल नहीं किया जा सकता.
यह सुविधा इन भाषाओं में काम करती है
इस्तेमाल की जा सकने वाली भाषाएं 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
अपने इस्तेमाल के उदाहरण और ऐप्लिकेशन के हिसाब से मॉडल को कैसे चुना जाता है.
नतीजों को बेहतर बनाने के सबसे सही तरीके और सलाह
इस सेक्शन में, Google Maps से जानकारी लेने की सुविधा
सबसे सही तरीके
ज़रूरत पड़ने पर ही टूल उपलब्ध कराएं: परफ़ॉर्मेंस और लागत को ऑप्टिमाइज़ करने के लिए, मॉडल को
Google Maps से जानकारी लेने की सुविधा का ऐक्सेस सिर्फ़ तब दें, जब इस्तेमाल के उदाहरण में जगह की जानकारी का साफ़ तौर पर इस्तेमाल किया जा रहा हो.उपयोगकर्ता की जगह की जानकारी दें: सबसे काम के और पसंद के मुताबिक जवाब पाने के लिए (और जब उपयोगकर्ता की जगह की जानकारी उपलब्ध हो), Google Maps से जानकारी लेने की सुविधा के कॉन्फ़िगरेशन में
Google Maps , उपयोगकर्ता की जगह की जानकारी (latLngके ज़रिए अक्षांश और देशांतर का इस्तेमाल करके) शामिल करें.असली उपयोगकर्ताओं को जानकारी दें: अपने असली उपयोगकर्ताओं को साफ़ तौर पर बताएं कि उनकी क्वेरी के जवाब देने के लिए,
Google Maps डेटा का इस्तेमाल किया जा रहा है. असली उपयोगकर्ताओं कोGoogle Maps के सोर्स की जानकारी देना,Google Maps से जानकारी लेने की सुविधा के इस्तेमाल से जुड़ी ज़रूरी शर्त है.(सिर्फ़ Web SDK)
Google Maps कॉन्टेक्चुअल विजेट को रेंडर करें: कॉन्टेक्चुअल विजेट को कॉन्टेक्स्ट टोकन,googleMapsWidgetContextTokenका इस्तेमाल करके रेंडर किया जाता है. यह टोकन, Gemini API जवाब में मिलता है. इसका इस्तेमाल,Google Maps से विज़ुअल कॉन्टेंट रेंडर करने के लिए किया जा सकता है. कॉन्टेक्चुअल विजेट के बारे में ज़्यादा जानने के लिए, दस्तावेज़ में विजेटGoogle Maps देखें.Google Maps
प्रॉम्प्ट में जगह की प्रॉपर्टी का इस्तेमाल करना
इस सेक्शन में, जगह की प्रॉपर्टी की सूची दी गई है. इनका इस्तेमाल, जगहों के बारे में बताने के लिए किया जाता है.
साथ ही, Google Maps
जगह की प्रॉपर्टी के सैंपल
इस सूची में, जगहों की प्रॉपर्टी के वर्णमाला के क्रम में सैंपल दिए गए हैं. इनका इस्तेमाल, आपका मॉडल जवाब जनरेट करने के लिए कर सकता है.
- पता
- कर्बसाइड पिक अप
- डेबिट कार्ड
- दूरी
- मुफ़्त पार्किंग की सुविधा उपलब्ध है
- लाइव संगीत
- बच्चों के लिए खाना
- कारोबार के खुले होने का समय
- पेमेंट के विकल्प (जैसे, नकद या क्रेडिट कार्ड)
- जगह के बारे में जवाब
- पालतू जानवर लाने की छूट है
- बीयर उपलब्ध
- शाकाहारी खाना मिलता है
- व्हीलचेयर की सुविधा है
- वाई-फ़ाई
जगह के बारे में जवाब, Google Maps से जानकारी लेने की सुविधा
जगह की प्रॉपर्टी का इस्तेमाल करने वाले प्रॉम्प्ट के उदाहरण
यहां दिए गए उदाहरणों में, अलग-अलग तरह की जगहों के बारे में पूछे गए सवालों के जवाब देने के लिए,
जगह की प्रॉपर्टी
का इस्तेमाल किया गया है.
फ़ैमिली डिनर प्लान करना: यह पता लगाना कि कोई रेस्टोरेंट, परिवार के लिए सही है या नहीं. साथ ही, यह पता लगाना कि रेस्टोरेंट में कोई सुविधाजनक सेवा उपलब्ध है या नहीं.
- प्रॉम्प्ट का उदाहरण: क्या "द इटैलियन प्लेस" बच्चों के लिए सही है और क्या वहां से खाना पैक कराकर ले जाया जा सकता है? उसकी रेटिंग क्या है?
किसी दोस्त के लिए, ऐक्सेसिबिलिटी की जानकारी देखना: यह पता लगाना कि जगह, ऐक्सेसिबिलिटी से जुड़ी खास ज़रूरतों को पूरा करती है या नहीं.
- प्रॉम्प्ट का उदाहरण: मुझे ऐसा रेस्टोरेंट चाहिए जहां व्हीलचेयर से आने-जाने की सुविधा हो.
देर रात खाने के लिए कोई जगह ढूंढना: ऐसी जगह ढूंढना जो किसी खास समय पर, कोई खास खाना परोसती हो.
- प्रॉम्प्ट का उदाहरण: क्या "बर्गर जॉइंट" अभी खुला है? क्या वहां डिनर मिलता है? शुक्रवार के लिए, उसके कारोबार के खुले होने का समय क्या है?
कॉफ़ी के लिए किसी क्लाइंट से मिलना: सुविधाओं, ऑफ़र, और पेमेंट के विकल्पों के आधार पर, यह आकलन करना कि कोई कैफ़े, बिज़नेस मीटिंग के लिए सही है या नहीं.
- प्रॉम्प्ट का उदाहरण: क्या "कैफ़े सेंट्रल" में वाई-फ़ाई की सुविधा है? क्या वहां कॉफ़ी मिलती है? उसका प्राइस लेवल क्या है और क्या वहां क्रेडिट कार्ड से पेमेंट किया जा सकता है?
ध्यान दें कि
जानकारी लेने की सुविधा Google Maps कैसे काम करती है
मॉडल को GoogleMaps टूल उपलब्ध कराने पर, मॉडल, जानकारी खोजने, प्रोसेस करने, और सोर्स की जानकारी देने का पूरा वर्कफ़्लो अपने-आप मैनेज करता है.
यहां मॉडल का वर्कफ़्लो दिया गया है:
प्रॉम्प्ट पाना: आपका ऐप्लिकेशन, Gemini मॉडल को
GoogleMapsटूल चालू करके एक प्रॉम्प्ट भेजता है.प्रॉम्प्ट का विश्लेषण करना: मॉडल, प्रॉम्प्ट का विश्लेषण करता है और यह तय करता है कि
Google Maps की मदद से, जवाब को बेहतर बनाया जा सकता है या नहीं. उदाहरण के लिए, अगर प्रॉम्प्ट में जगह की जानकारी शामिल है (जैसे, "मेरे आस-पास की कॉफ़ी शॉप," "सैन फ़्रांसिस्को के म्यूज़ियम").टूल को शुरू करना: मॉडल, जगह की जानकारी से जुड़ी मंशा को पहचानकर, जानकारी लेने की सुविधा वाले
Google Maps टूल को शुरू करता है.Google Maps को क्वेरी भेजना
Google Maps : Google Maps से जानकारी लेने की सुविधा, काम की जानकारी (उदाहरण के लिए,Google Maps जगहें, समीक्षाएं, फ़ोटो, पते, कारोबार के खुले होने का समय) के लिए Google Maps को क्वेरी भेजती है.Google Maps Google Maps के ज़्यादा काम के और पसंद के मुताबिक
Google Maps नतीजे पाने के लिए, टूल के कॉन्फ़िगरेशन में (या सीधे प्रॉम्प्ट में भी) अक्षांश और देशांतर शामिल किए जा सकते हैं. यह टूल, टेक्स्ट के आधार पर खोज करने वाला टूल है. यहGoogle Maps पर खोज करने की तरह ही काम करता है. स्थानीय क्वेरी ("मेरे आस-पास") के लिए, निर्देशांकों का इस्तेमाल किया जाएगा. वहीं, खास या गैर-स्थानीय क्वेरी पर, जगह की जानकारी का असर पड़ने की संभावना कम होती है.Google Maps नतीजों को प्रोसेस करना: मॉडल,Google Maps नतीजों को प्रोसेस करता है और ओरिजनल प्रॉम्प्ट के लिए एक जवाब तैयार करता है.**
Google Maps से जानकारी लेकर दिया गया नतीजा** देना: मॉडल, उपयोगकर्ता के लिए काम का ऐसा जवाब देता है जोGoogle Maps नतीजों पर आधारित होता है. इस जवाब में ये चीज़ें शामिल होती हैं:- मॉडल का टेक्स्ट वाला जवाब.
groundingMetadataऑब्जेक्ट जिसमेंGoogle Maps नतीजे और सोर्स शामिल हैं.- (सिर्फ़ Web SDK) इसके अलावा, googleMapsWidgetContextToken भी शामिल किया जा सकता है. इसकी मदद से, विज़ुअल इंटरैक्शन के लिए, आपके ऐप्लिकेशन में कॉन्टेक्चुअल
Google Maps विजेट रेंडर किया जा सकता है. कॉन्टेक्चुअल विजेट के बारे में ज़्यादा जानने के लिए,Google Maps विजेटGoogle Maps दस्तावेज़ में देखें.
ध्यान दें कि मॉडल को groundingMetadata ऑब्जेक्ट शामिल नहीं होगा. इसलिए,
यह
Google Maps से जानकारी लेकर दिए गए नतीजे को समझना
अगर मॉडल, groundingMetadata ऑब्जेक्ट शामिल होता है. इसमें स्ट्रक्चर्ड डेटा होता है. यह डेटा, दावों की पुष्टि करने और आपके
ऐप्लिकेशन में सोर्स का बेहतर अनुभव देने के लिए ज़रूरी है.
groundingMetadata ऑब्जेक्ट में यह जानकारी शामिल होती है:
groundingChunks: ऑब्जेक्ट का एक कलेक्शन, जिसमेंmapsसोर्स (uri,placeId, औरtitle) शामिल होते हैं.groundingSupports: मॉडल के जवाब केtextकोgroundingChunksमें मौजूद सोर्स से कनेक्ट करने के लिए, चंक का एक कलेक्शन. हर चंक, टेक्स्ट केsegment(startIndexऔरendIndexसे तय) को एक या उससे ज़्यादाgroundingChunkIndicesसे लिंक करता है. इस फ़ील्ड की मदद से, इनलाइन सोर्स लिंक बनाए जा सकते हैं. सेवा के इस्तेमाल से जुड़ी ज़रूरी शर्तों को पूरा करने का तरीका जानने के लिए, इस पेज पर आगे पढ़ें.- (सिर्फ़ Web SDK)
googleMapsWidgetContextToken: एक टेक्स्ट टोकन, जिसका इस्तेमाल, कॉन्टेक्चुअल Places विजेट को रेंडर करने के लिए किया जा सकता है. यह फ़ील्ड सिर्फ़ 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/..."
}
}
]
}
सेवा के इस्तेमाल से जुड़ी ज़रूरी शर्तें
इस सेक्शन में,
उपयोगकर्ताओं को Google Maps सोर्स के बारे में जानकारी देना
groundingChunks में सोर्स मिलेंगे. ये सोर्स, हर जवाब के लिए काम के होते हैं. इसके अलावा, यह मेटाडेटा भी मिलता है:
- सोर्स यूआरआई
- शीर्षक
- आईडी
अपने ऐप्लिकेशन में,
Google Maps सोर्स, जनरेट किए गए उस कॉन्टेंट के ठीक बाद दिखने चाहिए जिसके लिए सोर्स काम के हैं. जनरेट किए गए इस कॉन्टेंट कोGoogle Maps Grounded Result भी कहा जाता है.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 - सोर्स यूआरएल (
og:image) से कोई फ़ोटो शामिल करना.
कुछ
Google Maps टेक्स्ट एट्रिब्यूशन के दिशा-निर्देश
टेक्स्ट में
Google Mapsटेक्स्ट में किसी भी तरह का बदलाव न करें:Google Mapsटेक्स्ट के कैपिटलाइज़ेशन में बदलाव न करें.Google Mapsटेक्स्ट को एक से ज़्यादा लाइनों में रैप न करें.Google Mapsटेक्स्ट को किसी दूसरी भाषा में स्थानीय भाषा के मुताबिक न बनाएं.- एचटीएमएल एट्रिब्यूट
translate="no"का इस्तेमाल करके, ब्राउज़र कोGoogle Mapsटेक्स्ट का अनुवाद करने से रोकें.
Google Mapsटेक्स्ट को इस टेबल में बताए गए तरीके से स्टाइल करें:प्रॉपर्टी स्टाइल फ़ॉन्ट फ़ैमिली Roboto. फ़ॉन्ट लोड करना ज़रूरी नहीं है. फ़ॉलबैक फ़ॉन्ट फ़ैमिली आपके प्रॉडक्ट में पहले से इस्तेमाल किया जा रहा कोई भी sans serif बॉडी फ़ॉन्ट या डिफ़ॉल्ट सिस्टम फ़ॉन्ट को शुरू करने के लिए "Sans-Serif" फ़ॉन्ट स्टाइल सामान्य फ़ॉन्ट की मोटाई 400 फ़ॉन्ट का रंग सफ़ेद, काला (#1F1F1F) या स्लेटी (#5E5E5E). बैकग्राउंड के मुकाबले, ऐक्सेसिबल (4.5:1) कंट्रास्ट बनाए रखें. फ़ॉन्ट का साइज़ फ़ॉन्ट का कम से कम साइज़: 12 एसपी
फ़ॉन्ट का ज़्यादा से ज़्यादा साइज़: 16 एसपी
एसपी के बारे में जानने के लिए, मटीरियल डिज़ाइन की वेबसाइट पर फ़ॉन्ट साइज़ की इकाइयां देखें.स्पेसिंग सामान्य
सीएसएस का उदाहरण
नीचे दी गई सीएसएस, 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;
}
कॉन्टेक्स्ट टोकन और जगह के आईडी को कैश में सेव करना
- (सिर्फ़ Web SDK)
googleMapsWidgetContextToken placeId
Google Maps से जानकारी लेने की सुविधा की शर्तों में, डेटा को कैश में सेव करने पर लगी पाबंदियां, इस डेटा पर लागू नहीं होती हैं.
रोकी गई गतिविधियां और इलाके
आप ज़्यादा जोखिम वाली गतिविधियों के लिए
Google Maps से जानकारी लेने की सुविधा का इस्तेमाल नहीं करेंगे. इनमें, आपातकालीन सेवाओं के लिए भी इसका इस्तेमाल नहीं किया जाएगा.Google Maps
Google Maps से जानकारी लेने की सुविधा देने वाले अपने ऐप्लिकेशन को, पाबंदी वाले इलाके में डिस्ट्रिब्यूट या मार्केट नहीं किया जाएगा. ज़्यादा जानकारी के लिए, Google Maps Platform के पाबंदी वाले इलाके देखें. पाबंदी वाले इलाकों की सूची को समय-समय पर अपडेट किया जा सकता है.
Firebase console में, Google Maps से जानकारी लेकर दिए गए नतीजे और एआई की निगरानी की सुविधा
अगर आपने एआई की निगरानी की सुविधा Firebase console में चालू की है, तो जवाब, Cloud Logging में सेव किए जाते हैं. डिफ़ॉल्ट रूप से, इस डेटा को 30 दिनों तक सेव रखा जाता है.
यह पक्का करना आपकी ज़िम्मेदारी है कि डेटा को सेव रखने की यह अवधि या आपके सेट की गई कोई भी कस्टम अवधि, आपके इस्तेमाल के उदाहरण और आपके चुने गए Gemini API प्रोवाइडर के लिए, ज़रूरी शर्तों के मुताबिक हो: Gemini Developer API या Agent Platform Gemini API (formerly Vertex AI) (ज़्यादा जानकारी के लिए, सेवा की शर्तें सेक्शन देखें). इन ज़रूरी शर्तों को पूरा करने के लिए, आपको Cloud Logging में डेटा को सेव रखने की अवधि में बदलाव करना पड़ सकता है.
कीमत और दर की सीमाएं
Gemini API की सेवा देने वाली कंपनी के दस्तावेज़ में, Google Maps से जानकारी लेने की सुविधा की कीमत, मॉडल की उपलब्धता, और सीमाओं के बारे में जानकारी ज़रूर देखें. यहां Gemini API की सेवा देने वाली कंपनी के तौर पर, Gemini Developer API
|
Agent Platform Gemini API (formerly Vertex AI) को चुना गया है.