Google Maps की मदद से ग्राउंडिंग करना

Google Maps के डेटा के साथ Gemini को कनेक्ट करने से, Gemini की जनरेटिव क्षमताओं को Google Maps के सटीक, तथ्यों पर आधारित, और अप-टू-डेट डेटा के साथ कनेक्ट किया जा सकता है. इस सुविधा की मदद से डेवलपर, अपने ऐप्लिकेशन में जगह की जानकारी का इस्तेमाल करने वाली सुविधाओं को आसानी से शामिल कर सकते हैं. जब किसी उपयोगकर्ता की क्वेरी में Maps के डेटा से जुड़ा कॉन्टेक्स्ट होता है, तो Gemini मॉडल, Google Maps का इस्तेमाल करता है. इससे वह ऐसे जवाब दे पाता है जो तथ्यों के हिसाब से सटीक और अप-टू-डेट होते हैं. साथ ही, ये जवाब उपयोगकर्ता की बताई गई जगह या सामान्य इलाके के हिसाब से काम के होते हैं.

  • सटीक जवाब, जो जगह के हिसाब से हों: भौगोलिक रूप से खास क्वेरी के लिए, Google Maps के बड़े और मौजूदा डेटा का इस्तेमाल करें.
  • बेहतर तरीके से मनमुताबिक बनाना: उपयोगकर्ता की दी गई जगहों की जानकारी के आधार पर, सुझाव और जानकारी को मनमुताबिक बनाना.
  • कॉन्टेक्स्ट के हिसाब से जानकारी और विजेट: जनरेट किए गए कॉन्टेंट के साथ-साथ, इंटरैक्टिव Google Maps विजेट रेंडर करने के लिए कॉन्टेक्स्ट टोकन.

अपनी प्रोफ़ाइल बनाना शुरू करें

इस उदाहरण में बताया गया है कि उपयोगकर्ता की क्वेरी के सटीक जवाब देने के लिए, Google Maps के साथ ग्राउंडिंग को अपने ऐप्लिकेशन में कैसे इंटिग्रेट करें. इस प्रॉम्प्ट में, स्थानीय सुझावों के बारे में पूछा गया है. इसमें उपयोगकर्ता की जगह की जानकारी देने का विकल्प भी है. इससे Gemini मॉडल को Google Maps के डेटा का इस्तेमाल करने में मदद मिलती है.

Python

from google import genai
from google.genai import types

client = genai.Client()

prompt = "What are the best Italian restaurants within a 15-minute walk from here?"

response = client.models.generate_content(
    model='gemini-2.5-flash-lite',
    contents=prompt,
    config=types.GenerateContentConfig(
        # Turn on grounding with Google Maps
        tools=[types.Tool(google_maps=types.GoogleMaps())],
        # Optionally provide the relevant location context (this is in Los Angeles)
        tool_config=types.ToolConfig(retrieval_config=types.RetrievalConfig(
            lat_lng=types.LatLng(
                latitude=34.050481, longitude=-118.248526))),
    ),
)

print("Generated Response:")
print(response.text)

if grounding := response.candidates[0].grounding_metadata:
  if grounding.grounding_chunks:
    print('-' * 40)
    print("Sources:")
    for chunk in grounding.grounding_chunks:
      print(f'- [{chunk.maps.title}]({chunk.maps.uri})')

JavaScript

import { GoogleGenAI } from "@google/gnai";

const ai = new GoogleGenAI({});

async function generateContentWithMapsGrounding() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    contents: "What are the best Italian restaurants within a 15-minute walk from here?",
    config: {
      // Turn on grounding with Google Maps
      tools: [{ googleMaps: {} }],
      toolConfig: {
        retrievalConfig: {
          // Optionally provide the relevant location context (this is in Los Angeles)
          latLng: {
            latitude: 34.050481,
            longitude: -118.248526,
          },
        },
      },
    },
  });

  console.log("Generated Response:");
  console.log(response.text);

  const grounding = response.candidates[0]?.groundingMetadata;
  if (grounding?.groundingChunks) {
    console.log("-".repeat(40));
    console.log("Sources:");
    for (const chunk of grounding.groundingChunks) {
      if (chunk.maps) {
        console.log(`- [${chunk.maps.title}](${chunk.maps.uri})`);
      }
    }
  }
}

generateContentWithMapsGrounding();

REST

curl -X POST 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent' \
  -H 'Content-Type: application/json' \
  -H "x-goog-api-key: ${GEMINI_API_KEY}" \
  -d '{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "What are the best Italian restaurants within a 15-minute walk from here?"
    }]
  }],
  "tools": [{"googleMaps": {}}],
  "toolConfig": {
    "retrievalConfig": {
      "latLng": {"latitude": 34.050481, "longitude": -118.248526}
    }
  }
}'

Google Maps की 'भरोसेमंद स्रोतों से जानकारी लेना' सुविधा कैसे काम करती है

Grounding with Google Maps, Gemini API को Google के जियो इकोसिस्टम के साथ इंटिग्रेट करता है. इसके लिए, Maps API को ग्राउंडिंग सोर्स के तौर पर इस्तेमाल किया जाता है. जब किसी उपयोगकर्ता की क्वेरी में भौगोलिक कॉन्टेक्स्ट शामिल होता है, तो Gemini मॉडल, Google Maps के साथ ग्राउंडिंग टूल को चालू कर सकता है. इसके बाद, मॉडल Google Maps के डेटा के आधार पर जवाब जनरेट कर सकता है. यह डेटा, दी गई जगह से जुड़ा होता है.

आम तौर पर, इस प्रोसेस में ये शामिल हैं:

  1. उपयोगकर्ता की क्वेरी: कोई उपयोगकर्ता आपके ऐप्लिकेशन पर क्वेरी सबमिट करता है.इसमें भौगोलिक संदर्भ भी शामिल हो सकता है. उदाहरण के लिए, "मेरे आस-पास की कॉफ़ी शॉप", "सैन फ़्रांसिस्को के म्यूज़ियम").
  2. टूल को चालू करना: Gemini मॉडल, भौगोलिक जानकारी के आधार पर क्वेरी को समझता है. इसके बाद, Google Maps की 'भरोसेमंद स्रोतों से जानकारी लेना' सुविधा को चालू करता है. इस टूल को उपयोगकर्ता की latitude और longitude की जानकारी दी जा सकती है, ताकि जगह के हिसाब से नतीजे मिल सकें.
  3. डेटा वापस पाना: 'Google Maps के साथ ग्राउंडिंग' सेवा, Google Maps से काम की जानकारी (जैसे, जगहें, समीक्षाएं, फ़ोटो, पते, खुलने का समय) के बारे में क्वेरी करती है.
  4. भरोसेमंद स्रोतों से जानकारी लेकर जवाब जनरेट करना: खोजे गए Maps के डेटा का इस्तेमाल, Gemini मॉडल के जवाब में किया जाता है. इससे यह पक्का किया जाता है कि जवाब में दी गई जानकारी सही और काम की हो.
  5. जवाब और विजेट टोकन: मॉडल, टेक्स्ट के रूप में जवाब देता है. इसमें Google Maps के सोर्स के उद्धरण शामिल होते हैं. इसके अलावा, एपीआई रिस्पॉन्स में google_maps_widget_context_token भी शामिल हो सकता है. इससे डेवलपर, विज़ुअल इंटरैक्शन के लिए अपने ऐप्लिकेशन में कॉन्टेक्स्ट के हिसाब से Google Maps विजेट रेंडर कर सकते हैं.

Google Maps में 'भरोसेमंद स्रोतों से जानकारी लेना' सुविधा का इस्तेमाल कब और क्यों करना चाहिए

Google Maps की मदद से जानकारी पाने की सुविधा, उन ऐप्लिकेशन के लिए सबसे सही है जिन्हें सटीक, अप-टू-डेट, और जगह के हिसाब से जानकारी चाहिए. यह लोगों को काम का और उनके हिसाब से कॉन्टेंट उपलब्ध कराता है. यह कॉन्टेंट, Google Maps के बड़े डेटाबेस से लिया जाता है. इस डेटाबेस में, दुनिया भर की 25 करोड़ से ज़्यादा जगहों की जानकारी मौजूद है. इससे लोगों को बेहतर अनुभव मिलता है.

आपको Google Maps के साथ Grounding का इस्तेमाल तब करना चाहिए, जब आपके ऐप्लिकेशन को:

  • जगह के हिसाब से पूछे गए सवालों के पूरे और सटीक जवाब दें.
  • बातचीत करके यात्रा का प्लान बनाने वाले टूल और स्थानीय गाइड तैयार करना.
  • जगह और उपयोगकर्ता की प्राथमिकताओं के आधार पर, लोकप्रिय जगहों के सुझाव देना. जैसे, रेस्टोरेंट या दुकानें.
  • सामाजिक, खुदरा या खाना डिलीवर करने वाली सेवाओं के लिए, जगह की जानकारी के हिसाब से अनुभव बनाएं.

Google Maps के साथ इंटिग्रेट करके, ऐसे मामलों में बेहतर नतीजे पाए जा सकते हैं जहां आस-पास की जगहों और मौजूदा तथ्यों से जुड़े डेटा की ज़रूरत होती है. जैसे, "मेरे आस-पास सबसे अच्छी कॉफ़ी शॉप ढूंढो" या दिशा-निर्देश पाना.

एपीआई के तरीके और पैरामीटर

Google Maps के साथ ग्राउंडिंग की सुविधा, Gemini API के ज़रिए generateContent तरीके के टूल के तौर पर उपलब्ध कराई जाती है. Google Maps की मदद से ग्राउंडिंग की सुविधा चालू और कॉन्फ़िगर करने के लिए, अपने अनुरोध के tools पैरामीटर में googleMaps ऑब्जेक्ट शामिल करें.

JSON

{
  "contents": [{
    "parts": [
      {"text": "Restaurants near Times Square."}
    ]
  }],
  "tools":  { "googleMaps": {} }
}

googleMaps टूल, बूलियन enableWidget पैरामीटर को भी स्वीकार कर सकता है. इसका इस्तेमाल यह कंट्रोल करने के लिए किया जाता है कि googleMapsWidgetContextToken फ़ील्ड को जवाब में दिखाया जाए या नहीं. इसका इस्तेमाल कॉन्टेक्स्ट के हिसाब से जगहों की जानकारी देने वाले विजेट को दिखाने के लिए किया जा सकता है.

JSON

{
"contents": [{
    "parts": [
      {"text": "Restaurants near Times Square."}
    ]
  }],
  "tools":  { "googleMaps": { "enableWidget": true } }
}

इसके अलावा, यह टूल toolConfig के तौर पर कॉन्टेक्स्ट के हिसाब से जगह की जानकारी पास करने की सुविधा देता है.

JSON

{
  "contents": [{
    "parts": [
      {"text": "Restaurants near here."}
    ]
  }],
  "tools":  { "googleMaps": {} },
  "toolConfig":  {
    "retrievalConfig": {
      "latLng": {
        "latitude": 40.758896,
        "longitude": -73.985130
      }
    }
  }
}

जवाब के आधार को समझना

जब Google Maps के डेटा के आधार पर जवाब तैयार किया जाता है, तब जवाब में groundingMetadata फ़ील्ड शामिल होता है. दावों की पुष्टि करने और अपने ऐप्लिकेशन में उद्धरणों को बेहतर तरीके से दिखाने के लिए, यह स्ट्रक्चर्ड डेटा ज़रूरी है. साथ ही, इससे सेवा के इस्तेमाल से जुड़ी ज़रूरी शर्तों को पूरा करने में भी मदद मिलती है.

JSON

{
  "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"
            },
            // repeated ...
          }
        ],
        "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]
          },
          // repeated ...
        ],
        "webSearchQueries": [
          "restaurants near me"
        ],
        "googleMapsWidgetContextToken": "widgetcontent/..."
      }
    }
  ]
}

Gemini API, groundingMetadata के साथ यह जानकारी दिखाता है:

  • groundingChunks: यह ऑब्जेक्ट का ऐसा कलेक्शन है जिसमें maps के सोर्स (uri, placeId, और title) शामिल होते हैं.
  • groundingSupports: मॉडल के जवाब के टेक्स्ट को groundingChunks में मौजूद सोर्स से कनेक्ट करने के लिए, चंक का कलेक्शन. हर चंक, टेक्स्ट स्पैन (startIndex और endIndex से तय किया गया) को एक या उससे ज़्यादा groundingChunkIndices से लिंक करता है. इनलाइन उद्धरण बनाने के लिए, यह कुंजी है.
  • googleMapsWidgetContextToken: यह एक टेक्स्ट टोकन है. इसका इस्तेमाल कॉन्टेक्स्ट के हिसाब से जगहों की जानकारी देने वाले विजेट को रेंडर करने के लिए किया जा सकता है.

टेक्स्ट में इनलाइन उद्धरण रेंडर करने का तरीका दिखाने वाले कोड के स्निपेट के लिए, Google Search के दस्तावेज़ों में उदाहरण देखें.

Google Maps का कॉन्टेक्स्ट के हिसाब से विजेट दिखाना

जवाब में मिले googleMapsWidgetContextToken का इस्तेमाल करने के लिए, आपको Google Maps JavaScript API लोड करना होगा.

उपयोग के उदाहरण

Google Maps के साथ ग्राउंडिंग की सुविधा, जगह की जानकारी के हिसाब से इस्तेमाल के कई मामलों में काम करती है. यहां दिए गए उदाहरणों से पता चलता है कि अलग-अलग प्रॉम्प्ट और पैरामीटर, Google Maps के साथ ग्राउंडिंग की सुविधा का इस्तेमाल कैसे कर सकते हैं. ऐसा हो सकता है कि Google Maps के भरोसेमंद स्रोतों से मिले जवाबों में दी गई जानकारी, असल स्थितियों से अलग हो.

किसी जगह के बारे में पूछे गए सवालों के जवाब देना

किसी जगह के बारे में ज़्यादा जानकारी वाले सवाल पूछें, ताकि आपको Google पर लोगों की समीक्षाओं और Maps के अन्य डेटा के आधार पर जवाब मिल सकें.

Python

from google import genai
from google.genai import types

client = genai.Client()

prompt = "Is there a cafe near the corner of 1st and Main that has outdoor seating?"

response = client.models.generate_content(
    model='gemini-2.5-flash-lite',
    contents=prompt,
    config=types.GenerateContentConfig(
        # Turn on the Maps tool
        tools=[types.Tool(google_maps=types.GoogleMaps())],

        # Provide the relevant location context (this is in Los Angeles)
        tool_config=types.ToolConfig(retrieval_config=types.RetrievalConfig(
            lat_lng=types.LatLng(
                latitude=34.050481, longitude=-118.248526))),
    ),
)

print("Generated Response:")
print(response.text)

if grounding := response.candidates[0].grounding_metadata:
  if chunks := grounding.grounding_chunks:
    print('-' * 40)
    print("Sources:")
    for chunk in chunks:
      print(f'- [{chunk.maps.title}]({chunk.maps.uri})')
  ```

JavaScript

import { GoogleGenAI } from '@google/genai';

const ai = new GoogleGenAI({});

async function run() {
  const prompt = "Is there a cafe near the corner of 1st and Main that has outdoor seating?";

  const response = await ai.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: prompt,
    config: {
      // Turn on the Maps tool
      tools: [{googleMaps: {}}],
      // Provide the relevant location context (this is in Los Angeles)
      toolConfig: {
        retrievalConfig: {
          latLng: {
            latitude: 34.050481,
            longitude: -118.248526
          }
        }
      }
    },
  });

  console.log("Generated Response:");
  console.log(response.text);

  const chunks = response.candidates[0].groundingMetadata?.groundingChunks;
  if (chunks) {
    console.log('-'.repeat(40));
    console.log("Sources:");
    for (const chunk of chunks) {
      if (chunk.maps) {
        console.log(`- [${chunk.maps.title}](${chunk.maps.uri})`);
      }
    }
  }
}

run();

REST

curl -X POST 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent' \
  -H 'Content-Type: application/json' \
  -H "x-goog-api-key: ${GEMINI_API_KEY}" \
  -d '{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "Is there a cafe near the corner of 1st and Main that has outdoor seating?"
    }]
  }],
  "tools": [{"googleMaps": {}}],
  "toolConfig": {
    "retrievalConfig": {
      "latLng": {"latitude": 34.050481, "longitude": -118.248526}
    }
  }
}'

जगह के हिसाब से मनमुताबिक अनुभव देने की सुविधा उपलब्ध कराना

किसी उपयोगकर्ता की प्राथमिकताओं और किसी खास इलाके के हिसाब से सुझाव पाएं.

Python

from google import genai
from google.genai import types

client = genai.Client()

prompt = "Which family-friendly restaurants near here have the best playground reviews?"

response = client.models.generate_content(
    model='gemini-2.5-flash',
    contents=prompt,
    config=types.GenerateContentConfig(
      tools=[types.Tool(google_maps=types.GoogleMaps())],
      tool_config=types.ToolConfig(retrieval_config=types.RetrievalConfig(
          # Provide the location as context; this is Austin, TX.
          lat_lng=types.LatLng(
              latitude=30.2672, longitude=-97.7431))),
    ),
)

print("Generated Response:")
print(response.text)

if grounding := response.candidates[0].grounding_metadata:
  if chunks := grounding.grounding_chunks:
    print('-' * 40)
    print("Sources:")
    for chunk in chunks:
      print(f'- [{chunk.maps.title}]({chunk.maps.uri})')

JavaScript

import { GoogleGenAI } from '@google/genai';

const ai = new GoogleGenAI({});

async function run() {
  const prompt = "Which family-friendly restaurants near here have the best playground reviews?";

  const response = await ai.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: prompt,
    config: {
      tools: [{googleMaps: {}}],
      toolConfig: {
        retrievalConfig: {
          // Provide the location as context; this is Austin, TX.
          latLng: {
            latitude: 30.2672,
            longitude: -97.7431
          }
        }
      }
    },
  });

  console.log("Generated Response:");
  console.log(response.text);

  const chunks = response.candidates[0].groundingMetadata?.groundingChunks;
  if (chunks) {
    console.log('-'.repeat(40));
    console.log("Sources:");
    for (const chunk of chunks) {
      if (chunk.maps) {
        console.log(`- [${chunk.maps.title}](${chunk.maps.uri})`);
      }
    }
  }
}

run();

REST

curl -X POST 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent' \
  -H 'Content-Type: application/json' \
  -H "x-goog-api-key: ${GEMINI_API_KEY}" \
  -d '{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "Which family-friendly restaurants near here have the best playground reviews?"
    }],
  }],
  "tools": [{"googleMaps": {}}],
  "toolConfig": {
    "retrievalConfig": {
      "latLng": {"latitude": 30.2672, "longitude": -97.7431}
    }
  }
}'

यात्रा की योजना बनाने में मदद करना

एक से ज़्यादा दिनों के प्लान जनरेट करें. इनमें अलग-अलग जगहों के बारे में जानकारी और वहाँ पहुँचने का रास्ता शामिल हो. यह सुविधा, यात्रा से जुड़े ऐप्लिकेशन के लिए सबसे सही है.

इस उदाहरण में, Google Maps टूल में विजेट चालू करके googleMapsWidgetContextToken का अनुरोध किया गया है. इस सुविधा के चालू होने पर, मिले हुए टोकन का इस्तेमाल करके, Google Maps JavaScript API से मिले <gmp-places-contextual> component का इस्तेमाल करके, कॉन्टेक्स्ट के हिसाब से जगहों की जानकारी देने वाला विजेट रेंडर किया जा सकता है.

Python

from google import genai
from google.genai import types

client = genai.Client()

prompt = "Plan a day in San Francisco for me. I want to see the Golden Gate Bridge, visit a museum, and have a nice dinner."

response = client.models.generate_content(
    model='gemini-2.5-flash',
    contents=prompt,
    config=types.GenerateContentConfig(
      tools=[types.Tool(google_maps=types.GoogleMaps(enable_widget=True))],
      tool_config=types.ToolConfig(retrieval_config=types.RetrievalConfig(
          # Provide the location as context, this is in San Francisco.
          lat_lng=types.LatLng(
              latitude=37.78193, longitude=-122.40476))),
    ),
)

print("Generated Response:")
print(response.text)

if grounding := response.candidates[0].grounding_metadata:
  if grounding.grounding_chunks:
    print('-' * 40)
    print("Sources:")
    for chunk in grounding.grounding_chunks:
      print(f'- [{chunk.maps.title}]({chunk.maps.uri})')

  if widget_token := grounding.google_maps_widget_context_token:
    print('-' * 40)
    print(f'<gmp-place-contextual context-token="{widget_token}"></gmp-place-contextual>')

JavaScript

import { GoogleGenAI } from '@google/genai';

const ai = new GoogleGenAI({});

async function run() {
  const prompt = "Plan a day in San Francisco for me. I want to see the Golden Gate Bridge, visit a museum, and have a nice dinner.";

  const response = await ai.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: prompt,
    config: {
      tools: [{googleMaps: {enableWidget: true}}],
      toolConfig: {
        retrievalConfig: {
          // Provide the location as context, this is in San Francisco.
          latLng: {
            latitude: 37.78193,
            longitude: -122.40476
          }
        }
      }
    },
  });

  console.log("Generated Response:");
  console.log(response.text);

  const groundingMetadata = response.candidates[0]?.groundingMetadata;
  if (groundingMetadata) {
    if (groundingMetadata.groundingChunks) {
      console.log('-'.repeat(40));
      console.log("Sources:");
      for (const chunk of groundingMetadata.groundingChunks) {
        if (chunk.maps) {
          console.log(`- [${chunk.maps.title}](${chunk.maps.uri})`);
        }
      }
    }

    if (groundingMetadata.googleMapsWidgetContextToken) {
      console.log('-'.repeat(40));
      document.body.insertAdjacentHTML('beforeend', `<gmp-place-contextual context-token="${groundingMetadata.googleMapsWidgetContextToken}`"></gmp-place-contextual>`);
    }
  }
}

run();

REST

curl -X POST 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent' \
  -H 'Content-Type: application/json' \
  -H "x-goog-api-key: ${GEMINI_API_KEY}" \
  -d '{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "Plan a day in San Francisco for me. I want to see the Golden Gate Bridge, visit a museum, and have a nice dinner."
    }]
  }],
  "tools": [{"googleMaps": {"enableWidget":"true"}}],
  "toolConfig": {
    "retrievalConfig": {
    "latLng": {"latitude": 37.78193, "longitude": -122.40476}
  }
  }
}'

विजेट रेंडर होने पर, कुछ ऐसा दिखेगा:

रेंडर किए जाने पर, मैप विजेट का उदाहरण

सेवा के इस्तेमाल से जुड़ी ज़रूरी शर्तें

इस सेक्शन में, Google Maps के साथ Grounding की सुविधा इस्तेमाल करने की ज़रूरी शर्तों के बारे में बताया गया है.

उपयोगकर्ता को Google Maps के सोर्स के इस्तेमाल के बारे में जानकारी देना

Google Maps पर खोज के हर नतीजे के साथ, आपको ऐसे सोर्स मिलेंगे groundingChunks जिनसे हर जवाब की पुष्टि की जा सकती है. यह मेटाडेटा भी दिखता है:

  • सोर्स यूआरआई
  • title
  • आईडी

Google Maps के साथ ग्राउंडिंग के नतीजे दिखाते समय, आपको Google Maps से जुड़े सोर्स के बारे में बताना होगा. साथ ही, अपने उपयोगकर्ताओं को यह जानकारी देनी होगी:

  • Google Maps के सोर्स, जनरेट किए गए कॉन्टेंट के ठीक बाद होने चाहिए. साथ ही, यह भी ज़रूरी है कि सोर्स, कॉन्टेंट के साथ काम करते हों. जनरेट किए गए इस कॉन्टेंट को Google Maps के भरोसेमंद नतीजे भी कहा जाता है.
  • Google Maps के सोर्स, उपयोगकर्ता के एक इंटरैक्शन में दिखने चाहिए.

groundingChunks और grounding_chunks.maps.placeAnswerSources.reviewSnippets में मौजूद हर सोर्स के लिए, लिंक की झलक इन ज़रूरी शर्तों के मुताबिक जनरेट होनी चाहिए:

  • Google Maps के टेक्स्ट एट्रिब्यूशन के दिशा-निर्देशों के मुताबिक, हर सोर्स का एट्रिब्यूशन Google Maps को दें.
  • जवाब में दिए गए सोर्स का टाइटल दिखाएं.
  • जवाब में मौजूद uri या googleMapsUri का इस्तेमाल करके, सोर्स का लिंक दें.

इन इमेज में, सोर्स और Google Maps के लिंक दिखाने के लिए ज़रूरी शर्तें बताई गई हैं.

जवाब में सोर्स दिखाने वाला प्रॉम्ट

सोर्स के व्यू को छोटा किया जा सकता है.

जवाब और सोर्स को छोटा करके दिखाया गया है

ज़रूरी नहीं: लिंक की झलक को बेहतर बनाने के लिए, इसमें यह कॉन्टेंट जोड़ें:

  • Google Maps के टेक्स्ट एट्रिब्यूशन से पहले, Google Maps का फ़ेविकॉन डाला जाता है.
  • सोर्स यूआरएल (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 के टेक्स्ट को स्टाइल करें:
प्रॉपर्टी शैली
Font family Roboto. फ़ॉन्ट लोड करना ज़रूरी नहीं है.
Fallback font family आपके प्रॉडक्ट में पहले से इस्तेमाल किया गया कोई भी sans serif बॉडी फ़ॉन्ट या डिफ़ॉल्ट सिस्टम फ़ॉन्ट को चालू करने के लिए "Sans-Serif"
Font style सामान्य
Font weight 400
Font color सफ़ेद, काला (#1F1F1F) या स्लेटी (#5E5E5E). बैकग्राउंड के साथ कंट्रास्ट को 4.5:1 के अनुपात में रखें, ताकि इसे आसानी से ऐक्सेस किया जा सके.
Font size
  • कम से कम फ़ॉन्ट साइज़: 12 एसपी
  • फ़ॉन्ट का ज़्यादा से ज़्यादा साइज़: 16sp
  • sp के बारे में जानने के लिए, Material Design की वेबसाइट पर फ़ॉन्ट साइज़ की इकाइयां देखें.
Spacing सामान्य

सीएसएस का उदाहरण

नीचे दी गई सीएसएस, 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 के डेटा में कॉन्टेक्स्ट टोकन, जगह का आईडी, और समीक्षा का आईडी शामिल होता है. जवाब के इस डेटा को कैश मेमोरी में सेव किया जा सकता है, स्टोर किया जा सकता है, और एक्सपोर्ट किया जा सकता है:

  • googleMapsWidgetContextToken
  • placeId
  • reviewId

Grounding with Google Maps की शर्तों में, कैश मेमोरी में सेव करने से जुड़ी पाबंदियां लागू नहीं होती हैं.

पाबंदी वाली गतिविधि और देश/इलाका

Google Maps के साथ ग्राउंडिंग करने पर, कुछ कॉन्टेंट और गतिविधियों पर अतिरिक्त पाबंदियां लगाई जाती हैं. ऐसा सुरक्षित और भरोसेमंद प्लैटफ़ॉर्म बनाए रखने के लिए किया जाता है. शर्तों में बताई गई, इस्तेमाल से जुड़ी पाबंदियों के अलावा, आपको ज़्यादा जोखिम वाली गतिविधियों के लिए, Google Maps के साथ ग्राउंडिंग की सुविधा का इस्तेमाल नहीं करना चाहिए. जैसे, आपातकालीन सेवाओं के लिए. आप ऐसे देश या इलाके में, Google Maps के साथ ग्राउंडिंग की सुविधा देने वाले अपने ऐप्लिकेशन का डिस्ट्रिब्यूशन या मार्केटिंग नहीं करेंगे जहां यह सुविधा उपलब्ध नहीं है. फ़िलहाल, इन देशों/इलाकों में साइनटॉलजी से जुड़े प्रॉडक्ट पर पाबंदी है:

  • चीन
  • क्रीमिया
  • क्यूबा
  • डनेत्स्क पीपल्स रिपब्लिक
  • ईरान
  • लुहांस्क पीपल्स रिपब्लिक
  • उत्तर कोरिया
  • सीरिया
  • वियतनाम

इस सूची को समय-समय पर अपडेट किया जा सकता है.

सबसे सही तरीके

  • उपयोगकर्ता की जगह की जानकारी दें: उपयोगकर्ता की जगह की जानकारी मिलने पर, googleMapsGrounding कॉन्फ़िगरेशन में हमेशा user_location (अक्षांश और देशांतर) शामिल करें. इससे, उपयोगकर्ता को उसकी दिलचस्पी के हिसाब से सबसे काम के जवाब मिलेंगे.
  • Google Maps के कॉन्टेक्स्ट के हिसाब से विजेट रेंडर करना: कॉन्टेक्स्ट के हिसाब से विजेट को कॉन्टेक्स्ट टोकन, googleMapsWidgetContextToken का इस्तेमाल करके रेंडर किया जाता है. यह Gemini API के जवाब में मिलता है. इसका इस्तेमाल Google Maps से विज़ुअल कॉन्टेंट रेंडर करने के लिए किया जा सकता है. कॉन्टेक्स्ट के हिसाब से विजेट के बारे में ज़्यादा जानने के लिए, Google Developers की गाइड में Google Maps विजेट के साथ ग्राउंडिंग देखें.
  • उपयोगकर्ताओं को जानकारी दें: अपने उपयोगकर्ताओं को साफ़ तौर पर बताएं कि उनकी क्वेरी के जवाब देने के लिए, Google Maps के डेटा का इस्तेमाल किया जा रहा है. खास तौर पर, जब टूल चालू हो.
  • लेटेंसी पर नज़र रखें: बातचीत वाले ऐप्लिकेशन के लिए, पक्का करें कि जवाबों के लिए P95 लेटेंसी, तय थ्रेशोल्ड के अंदर हो, ताकि उपयोगकर्ता को बेहतर अनुभव मिल सके.
  • ज़रूरत न होने पर टॉगल बंद करें: Google Maps के साथ ग्राउंडिंग की सुविधा डिफ़ॉल्ट रूप से बंद होती है. इसे सिर्फ़ तब चालू करें ("tools": [{"googleMaps": {}}]), जब किसी क्वेरी में भौगोलिक संदर्भ साफ़ तौर पर दिया गया हो. इससे परफ़ॉर्मेंस और लागत को ऑप्टिमाइज़ किया जा सकेगा.

सीमाएं

  • भौगोलिक दायरा: फ़िलहाल, Google Maps के साथ भरोसेमंद स्रोतों से जानकारी लेने की सुविधा दुनिया भर में उपलब्ध है
  • मॉडल के साथ काम करने की सुविधा: Google Maps के साथ ग्राउंडिंग की सुविधा, सिर्फ़ Gemini के कुछ मॉडल के साथ काम करती है: Gemini 2.5 Flash-Lite, Gemini 2.5 Pro, Gemini 2.5 Flash, और Gemini 2.0 Flash (लेकिन 2.0 Flash Lite के साथ नहीं).
  • टेक्स्ट, इमेज वग़ैरह को प्रोसेस करने वाले मोडल के इनपुट/आउटपुट: फ़िलहाल, Google Maps के साथ इंटिग्रेट किए गए Gemini में टेक्स्ट और मैप के कॉन्टेक्स्ट के हिसाब से विजेट के अलावा, टेक्स्ट, इमेज वग़ैरह को प्रोसेस करने वाले मोडल के इनपुट या आउटपुट का इस्तेमाल नहीं किया जा सकता.
  • डिफ़ॉल्ट स्थिति: 'Google Maps के साथ जानकारी को ज़्यादा सटीक बनाएं' टूल डिफ़ॉल्ट रूप से बंद होता है. आपको इसे एपीआई अनुरोधों में साफ़ तौर पर चालू करना होगा.

कीमत और दर की सीमाएं

Google Maps की कीमत के हिसाब से भरोसेमंद स्रोतों से जानकारी लेने की सुविधा, क्वेरी पर आधारित होती है. मौजूदा दर 25 डॉलर / 1,000 भरोसेमंद प्रॉम्प्ट है. किसी अनुरोध को सिर्फ़ तब कोटे में गिना जाता है, जब प्रॉम्प्ट से कम से कम एक Google Maps का भरोसेमंद नतीजा मिलता है. इसका मतलब है कि नतीजों में कम से कम एक Google Maps का सोर्स शामिल हो. अगर एक ही अनुरोध से Google Maps पर कई क्वेरी भेजी जाती हैं, तो उन्हें दर सीमा के हिसाब से एक अनुरोध के तौर पर गिना जाता है.

शुल्क के बारे में ज़्यादा जानकारी के लिए, Gemini API के शुल्क वाला पेज देखें.

इन मॉडल के साथ काम करता है

इनकी क्षमताओं के बारे में जानने के लिए, मॉडल की खास जानकारी पेज पर जाएं.

मॉडल Google Maps की मदद से भरोसेमंद स्रोतों से जानकारी लेना
Gemini 2.5 Pro ✔️
Gemini 2.5 Flash ✔️
Gemini 2.5 Flash-Lite ✔️
Gemini 2.0 Flash ✔️

आगे क्या करना है