रूटिंग की खास जानकारी का हिसाब लगाना

टेक्स्ट सर्च (नया) या आस-पास की जगहें खोजने की सुविधा (नई) का इस्तेमाल करके, जवाब में हर जगह तक पहुंचने में लगने वाले समय और दूरी का हिसाब लगाने के लिए:

  1. रूटिंग के ऑरिजिन के अक्षांश और देशांतर के निर्देशांक बताने के लिए, अनुरोध में routingParameters.origin पैरामीटर पास करें. इस पैरामीटर की ज़रूरत, जवाब में हर जगह के लिए, समय और दूरी का हिसाब लगाने के लिए होती है.

  2. फ़ील्ड मास्क में routingSummaries शामिल करें, ताकि रिस्पॉन्स में routingSummaries कलेक्शन शामिल हो. इस कलेक्शन में, रिस्पॉन्स में मौजूद हर जगह के लिए, रूटिंग ऑरिजिन से लेकर उस जगह तक की दूरी और समय की जानकारी होती है.

टेक्स्ट से खोजने की सुविधा का इस्तेमाल करना (नया)

नीचे दिए गए अनुरोध में, टेक्स्ट सर्च (नया) के रिस्पॉन्स में, हर जगह तक पहुंचने में लगने वाले समय और दूरी का हिसाब लगाया जाता है:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

रिस्पॉन्स में दो JSON कलेक्शन होते हैं: places कलेक्शन में मैच होने वाली जगहें होती हैं और routingSummaries कलेक्शन में हर जगह की यात्रा में लगने वाला समय और दूरी होती है:

{
  "places": [
    {
      object (Place)
    }
  ]
  "routingSummaries": [
    {
      object (RoutingSummary)
    }
}

routingSummaries कलेक्शन में मौजूद हर एलिमेंट, places कलेक्शन में मौजूद उसी एलिमेंट की जगह पर होता है. इसका मतलब है कि routingSummaries[0] पर मौजूद एलिमेंट, places[0] पर मौजूद जगह से जुड़ा है.

routingSummaries की ऐरे की लंबाई, places की ऐरे की लंबाई के बराबर होनी चाहिए. अगर किसी जगह के लिए routingSummary उपलब्ध नहीं है, तो ऐरे की एंट्री खाली होती है.

इस उदाहरण में, रूटिंग ऑरिजिन से हर जगह तक की दूरी और समय का हिसाब लगाया जाता है. इसलिए, रिस्पॉन्स में मौजूद routingSummaries.legs फ़ील्ड में एक Leg ऑब्जेक्ट होता है. इसमें, रूटिंग ऑरिजिन से जगह तक की duration और distanceMeters की जानकारी होती है.

{
  "places": [
    {
      "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Gözleme King Sydney",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    
  ]
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "597s",
          "distanceMeters": 2607
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0"
    },
    {
      "legs": [
        {
          "duration": "562s",
          "distanceMeters": 2345
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0"
    },
   
  ]
}

इस उदाहरण से पता चलता है कि रूटिंग के ऑरिजिन से नतीजों में पहली जगह तक पहुंचने में 597 सेकंड और 2, 607 मीटर की दूरी लगती है.

इस उदाहरण में, आस-पास की जगहों के खोज नतीजों में, हर जगह तक पहुंचने में लगने वाले समय और दूरी का हिसाब लगाया गया है. इस उदाहरण में, ऑस्ट्रेलिया के सिडनी में रेस्टोरेंट खोजे जा रहे हैं. साथ ही, जगह की पाबंदी और रूटिंग की शुरुआत को एक ही अक्षांश और देशांतर निर्देशांक पर सेट किया गया है:

  curl -X POST -d '{
    "includedTypes": ["restaurant"],
    "maxResultCount": 10,
    "locationRestriction": {
      "circle": {
        "center": {
          "latitude": -33.8688,
          "longitude": 151.1957362},
        "radius": 500.0
      }
    },
    "routingParameters": {
      "origin": {
        "latitude": -33.8688,
        "longitude": 151.1957362
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
  -H "X-Goog-FieldMask: places.displayName,routingSummaries" \
  https://places.googleapis.com/v1/places:searchNearby

आपको locationRestriction और रूटिंग ऑरिजिन के लिए, एक ही निर्देशांक का इस्तेमाल करने की ज़रूरत नहीं है. उदाहरण के लिए, locationRestriction को सिडनी के केंद्र बिंदु पर सेट किया जाता है, ताकि खोज के नतीजों में उस सर्कल को प्राथमिकता दी जा सके. हालांकि, इसके बाद आपने रूटिंग के ऑरिजिन को अपने घर के निर्देशांक पर सेट किया. इसका मतलब है कि आपने खोज के घेरे में मौजूद किसी दूसरी जगह को ऑरिजिन के तौर पर सेट किया. इसके बाद, अनुरोध के आधार पर खोज के नतीजों को सर्कल के हिसाब से दिखाया जाता है. साथ ही, आपके घर की जगह के आधार पर, रास्ते की खास जानकारी का हिसाब लगाया जाता है.

यात्रा के विकल्पों की जानकारी देना

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

अगले उदाहरण में, यात्रा के मोड के तौर पर DRIVE और राजमार्गों से बचने के लिए, यह जानकारी दी गई है:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    },
    "travelMode":"DRIVE",
    "routeModifiers": {
      "avoidHighways": true
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'