রাউটিংয়ের সারসংক্ষেপ গণনা করা

উত্তরে প্রতিটি জায়গায় পৌঁছাতে কত সময় লাগবে এবং দূরত্ব কত তা গণনা করতে Text Search (New) বা Nearby Search (New) ব্যবহার করতে:

  1. রাউটিংয়ের উৎসের অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক নির্দিষ্ট করতে, অনুরোধে routingParameters.origin প্যারামিটার পাস করুন। উত্তর ডেটার মধ্যে প্রতিটি জায়গার দূরত্ব ও সময় গণনা করার জন্য এই প্যারামিটার প্রয়োজনীয়।

  2. ফিল্ড মাস্কে routingSummaries যোগ করুন যাতে উত্তরে routingSummaries অ্যারে থাকে। এই অ্যারেতে রাউটিংয়ের উৎস থেকে উত্তরের প্রতিটি জায়গার দূরত্ব ও সময় থাকে।

API এক্সপ্লোরার আপনাকে লাইভ অনুরোধ করতে দেয় যাতে আপনি API ও API বিকল্প সম্পর্কে পরিচিত হতে পারেন:

নিম্নলিখিত অনুরোধে, আপনি টেক্সট সার্চ (নতুন) উত্তরের প্রতিটি স্থানের জন্য ভ্রমণের সময়সীমা ও দূরত্ব গণনা করুন:

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"
    },
   …
  ]
}

এই উদাহরণ থেকে আপনি দেখতে পাবেন যে রুট শুরুর স্থান থেকে ফলাফলের প্রথম স্থানের সময়কাল এবং দূরত্ব হল ৫৯৭ সেকেন্ড এবং ২৬০৭ মিটার।

এই উদাহরণে, আপনি Nearby Search-এর উত্তরে প্রতিটি জায়গার জন্য ভ্রমণের সময়সীমা ও দূরত্ব গণনা করেন। এই উদাহরণটি সিডনি, অস্ট্রেলিয়ার রেস্তোরাঁগুলি অনুসন্ধান করে এবং একই অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে অবস্থান সীমাবদ্ধতা এবং রাউটিং উত্স সেট করে:

  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 সিডনির কেন্দ্রবিন্দুতে সেট করেছেন যাতে সার্চ ফলাফল সেই বৃত্তের মধ্যে সীমাবদ্ধ থাকে। কিন্তু আপনি তারপরে রাউটিংয়ের অরিজিন হিসেবে আপনার বাড়ির কোঅর্ডিনেট সেট করেছেন, অর্থাৎ সার্চ সার্কেলের মধ্যে অন্য একটি লোকেশন। তারপরে অনুরোধটি সার্চ ফলাফলকে সার্কেলের দিকে পক্ষপাতদুষ্ট করে এবং আপনার বাড়ির লোকেশনের উপর ভিত্তি করে রাউটিং সারসংক্ষেপ গণনা করে।

ভ্রমণের বিকল্প উল্লেখ করুন

ডিফল্ট হিসেবে, সময়সীমা ও দূরত্ব গাড়ির জন্য হিসেব করা হয়। তবে, আপনি সার্চে গাড়ির ধরন এবং অন্যান্য বিকল্প নিয়ন্ত্রণ করতে পারবেন।

  • routingParameters.travelMode প্যারামিটার ব্যবহার করে পরিবহনের মোড DRIVE, BICYCLE, WALK বা TWO_WHEELER হিসেবে সেট করুন। এইসব বিকল্প সম্পর্কে আরও তথ্য পেতে, রুটের জন্য উপলভ্য গাড়ির ধরন দেখুন।

  • routingParameters.routingPreference প্রপার্টি ব্যবহার করে রাউটিং সংক্রান্ত পছন্দের বিকল্প TRAFFIC_UNAWARE (ডিফল্ট), TRAFFIC_AWARE অথবা TRAFFIC_AWARE_OPTIMAL হিসেবে সেট করুন। প্রতিটি বিকল্পে ডেটার কোয়ালিটি ও লেটেন্সি আলাদা আলাদা লেভেলের হয়। আরও তথ্যের জন্য, ট্রাফিক ডেটা কীভাবে এবং অন্তর্ভুক্ত করতে হবে কিনা তা নির্দিষ্ট করুনলিঙ্ক দেখুন।

    routingParameters.routingPreference প্রপার্টি প্রিভিউ (Pre-GA) directionsUri ফিল্ডে থাকা দিকনির্দেশকে প্রভাবিত করে কারণ Google Maps লিঙ্ক খোলার সময় ট্রাফিক সংক্রান্ত বিকল্প দেখায়।

  • routingParameters.routeModifiers প্রপার্টি ব্যবহার করে avoidTolls, avoidHighways, avoidFerries ও avoidIndoor নির্দিষ্ট করুন। এইসব বিকল্প সম্পর্কে আরও জানতে, এড়িয়ে যাওয়ার জন্য রুটের ফিচার নির্দিষ্ট করুন দেখুন।

পরবর্তী উদাহরণে, আপনি ভ্রমণের মোড 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'

এটি ব্যবহার করে দেখুন!

API এক্সপ্লোরার আপনাকে স্যাম্পেল অনুরোধ করতে দেয় যাতে আপনি API ও API বিকল্পগুলির সাথে পরিচিত হতে পারেন।

  1. পৃষ্ঠার ডানদিকে API আইকন api বেছে নিন।

  2. ঐচ্ছিকভাবে, অনুরোধের প্যারামিটার এডিট করুন।

  3. এক্সিকিউট করুন বোতামটি বেছে নিন। ডায়ালগে, অনুরোধ করার জন্য আপনি যে অ্যাকাউন্ট ব্যবহার করতে চান সেটি বেছে নিন।

  4. API এক্সপ্লোরার প্যানেলে, API এক্সপ্লোরার উইন্ডো বড় করতে, 'ফুলস্ক্রিন' আইকন ফুলস্ক্রিন বেছে নিন।