टूल: compute_routes
यह फ़ंक्शन, यात्रा शुरू करने की जगह और मंज़िल के बीच का रास्ता दिखाता है. यात्रा के लिए इस्तेमाल किए जा सकने वाले मोड: DRIVE (डिफ़ॉल्ट), WALK.
इनपुट की ज़रूरी शर्तें (अहम जानकारी): इसके लिए, मूल जगह और डेस्टिनेशन, दोनों की जानकारी देना ज़रूरी है. इनमें से हर एक को, यहां दिए गए किसी एक तरीके का इस्तेमाल करके उपलब्ध कराया जाना चाहिए. साथ ही, इन्हें इनके संबंधित फ़ील्ड में नेस्ट किया जाना चाहिए:
address: (स्ट्रिंग, जैसे कि 'एफ़िल टावर, पेरिस'). ध्यान दें: इनपुट पता जितना ज़्यादा विस्तृत या सटीक होगा, नतीजे उतने ही बेहतर होंगे.
lat_lng: (object, {"latitude": number, "longitude": number})
place_id: (स्ट्रिंग, उदाहरण के लिए, 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') ध्यान दें: यह आईडी, search_places टूल से पाया जा सकता है. इनपुट टाइप के किसी भी कॉम्बिनेशन का इस्तेमाल किया जा सकता है. उदाहरण के लिए, पते के हिसाब से मूल जगह और अक्षांश/देशांतर के हिसाब से मंज़िल. अगर ऑरिजिन या डेस्टिनेशन में से कोई एक मौजूद नहीं है, तो टूल को कॉल करने से पहले, आपको उपयोगकर्ता से इस बारे में ज़्यादा जानकारी मांगनी होगी.
टूल कॉल का उदाहरण: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}
- जवाब में दी गई जानकारी का स्रोत बताना ज़रूरी है. इसके लिए,
attributionफ़ील्ड में मौजूद जानकारी का इस्तेमाल करें.
यहां दिए गए कोड सैंपल में, curl का इस्तेमाल करके compute_routes एमसीपी टूल को कॉल करने का तरीका बताया गया है.
| कर्ल अनुरोध |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "compute_routes", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
इनपुट स्कीमा
ComputeRoutesRequest.
ComputeRoutesRequest
| JSON के काेड में दिखाना |
|---|
{ "origin": { object ( |
| फ़ील्ड | |
|---|---|
origin |
ज़रूरी है. यात्रा शुरू होने की जगह का वेपॉइंट. |
destination |
ज़रूरी है. डेस्टिनेशन वेपॉइंट. |
travelMode |
ज़रूरी नहीं. इससे यात्रा के साधन के बारे में पता चलता है. |
वेपॉइंट
| JSON के काेड में दिखाना |
|---|
{ // Union field |
| फ़ील्ड | |
|---|---|
यूनियन फ़ील्ड location_type. किसी जगह की जानकारी दिखाने के अलग-अलग तरीके. location_type इनमें से सिर्फ़ एक हो सकता है: |
|
latLng |
भौगोलिक निर्देशांकों का इस्तेमाल करके तय किया गया पॉइंट. |
placeId |
वेपॉइंट से जुड़ा जगह का आईडी. |
address |
ऐसा पता जिसे कोई भी व्यक्ति आसानी से पढ़ सके या प्लस कोड. ज़्यादा जानकारी के लिए, https://plus.codes पर जाएं. |
LatLng
| JSON के काेड में दिखाना |
|---|
{ "latitude": number, "longitude": number } |
| फ़ील्ड | |
|---|---|
latitude |
डिग्री में अक्षांश. यह [-90.0, +90.0] की रेंज में होना चाहिए. |
longitude |
डिग्री में देशांतर. यह [-180.0, +180.0] की रेंज में होना चाहिए. |
RouteTravelMode
यात्रा के तरीके के बारे में बताने के लिए इस्तेमाल की जाने वाली वैल्यू का सेट.
| Enums | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
यात्रा का कोई तरीका नहीं बताया गया है. डिफ़ॉल्ट रूप से, इसकी वैल्यू DRIVE होती है. |
DRIVE |
कार से यात्रा करना. |
WALK |
पैदल यात्रा करना. ध्यान दें: WALK रास्ते बीटा वर्शन में हैं. इसलिए, हो सकता है कि कभी-कभी इनमें पैदल चलने के लिए साफ़ रास्ते या फ़ुटपाथ न हों. आपको अपने ऐप्लिकेशन में दिखाई जाने वाली सभी पैदल चलने की गतिविधियों के लिए, उपयोगकर्ता को यह चेतावनी दिखानी होगी. |
आउटपुट स्कीमा
ComputeRoutesResponse.
ComputeRoutesResponse
| JSON के काेड में दिखाना |
|---|
{
"routes": [
{
object ( |
| फ़ील्ड | |
|---|---|
routes[] |
इसमें अनुरोध की गई जगह से मंज़िल तक के रास्ते शामिल होते हैं. फ़िलहाल, सिर्फ़ एक रास्ता दिखाया जाता है. |
रास्ता
| JSON के काेड में दिखाना |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| फ़ील्ड | |
|---|---|
distanceMeters |
रास्ते की दूरी, मीटर में. |
duration |
रास्ते पर चलने में लगने वाला समय. यह सेकंड में अवधि होती है. इसमें नौ दशमलव अंक हो सकते हैं. यह ' |
attribution |
रास्ते के साथ दिखाने के लिए एट्रिब्यूशन ज़रूरी है. |
कुल समय
| JSON के काेड में दिखाना |
|---|
{ "seconds": string, "nanos": integer } |
| फ़ील्ड | |
|---|---|
seconds |
समय की अवधि के लिए, सेकंड की जानकारी. यह वैल्यू -315,576,000,000 से +315,576,000,000 के बीच होनी चाहिए. ध्यान दें: इन सीमाओं का हिसाब इस तरह लगाया जाता है: 60 सेकंड/मिनट * 60 मिनट/घंटा * 24 घंटे/दिन * 365.25 दिन/साल * 10,000 साल |
nanos |
समय की अवधि के नैनोसेकंड रिज़ॉल्यूशन पर, सेकंड के साइंड फ़्रैक्शन. एक सेकंड से कम अवधि को 0 |
एट्रिब्यूशन
| JSON के काेड में दिखाना |
|---|
{ "title": string, "url": string } |
| फ़ील्ड | |
|---|---|
title |
एट्रिब्यूशन के लिए दिखाने जाने वाला टाइटल. |
url |
एट्रिब्यूशन के लिए लिंक करने का यूआरएल. |
टूल एनोटेशन
टूल के एनोटेशन, एमसीपी क्लाइंट को भेजे जाते हैं. इनसे किसी टूल से जुड़े बुनियादी जोखिम के बारे में जानकारी मिलती है. ज़्यादातर क्लाइंट, इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.
टाइटल स्ट्रिंग के साथ-साथ, यहां दिए गए बूलियन हिंट भी तय किए गए हैं:
readOnlyHint: अगर यह सही है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता है. डिफ़ॉल्ट: गलत.destructiveHint: अगर यह वैल्यू 'सही है' पर सेट है, तो टूल, डेटा को मिटाने जैसी कार्रवाइयां कर सकता है. अगर यह वैल्यू 'गलत है' पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: सही.idempotentHint: अगर यह वैल्यू सही है, तो एक ही आर्ग्युमेंट के साथ टूल को बार-बार कॉल करने से, इसके एनवायरमेंट पर कोई अतिरिक्त असर नहीं पड़ेगा. डिफ़ॉल्ट: गलत.openWorldHint: अगर यह वैल्यू सही है, तो टूल बाहरी इकाइयों के 'ओपन वर्ल्ड' के साथ इंटरैक्ट कर सकता है. अगर यह वैल्यू 'गलत है' पर सेट है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब पर खोज करने वाला टूल ओपन वर्ल्ड होगा, जबकि मेमोरी टूल ओपन वर्ल्ड नहीं होगा.
बदलाव करने वाला सुराग: ❌ | एक ही बार इस्तेमाल किया जा सकने वाला सुराग: ❌ | सिर्फ़ पढ़ने वाला सुराग: ✅ | ओपन वर्ल्ड सुराग: ❌