রুট বরাবর খুঁজুন

search_along_route টুলটি একটি LLM-কে ন্যাচারাল ল্যাঙ্গুয়েজ কোয়েরি থেকে ভ্রমণের রুটে জায়গা খুঁজতে দেয়, যেমন লেক তাহো যাওয়ার পথে ইভি চার্জিং স্টেশন বা সান ফ্রান্সিসকো এবং সান জোসের মধ্যে কফি শপ। টুলটি মিলে যাওয়া জায়গা এবং তাদের ডিট্যুর ট্রেড-অফের AI-জেনারেটেড সারাংশ প্রদান করে। সারসংক্ষেপে উল্লেখ করা প্রতিটি জায়গার জন্য, উত্তরে জায়গার আইডি, অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেট, Google Maps লিঙ্ক, প্রয়োজনীয় অ্যাট্রিবিউশন এবং ডিট্যুর মেট্রিকও অন্তর্ভুক্ত থাকে।

প্রতিটি search_along_route অনুরোধ হল একটি Pro বিকল্প এবং Maps Grounding Pro SKU-এর অধীনে বিল করা হয়।

আপনি MCP সার্ভারের মাধ্যমে বা searchAlongRoute REST পদ্ধতি হিসেবে search_along_route কল করতে পারবেন। এই পৃষ্ঠায় অনুরোধের বিকল্প, কীভাবে রুট নির্দিষ্ট করতে হয়, উত্তরে কী থাকে এবং অনুরোধের জন্য কীভাবে বিল করা হয় তা বর্ণনা করা হয়েছে। সম্পূর্ণ স্কিমার জন্য, search_along_route MCP রেফারেন্স এবং searchAlongRoute REST রেফারেন্স দেখুন।

অনুরোধের বিকল্প

ব্যবহারকারীর অনুরোধ এবং টুলের বিবরণের উপর ভিত্তি করে, LLM টুল কল করার সময় এই বিকল্পগুলি সেট করে। আপনার নিজের নির্দেশাবলীর মাধ্যমে মডেল কোন বিকল্প ব্যবহার করবে তা আপনি প্রভাবিত করতে পারবেন; Pro ব্যবহার নিয়ন্ত্রণ করুন দেখুন।

নিম্নলিখিত সারণীতে search_along_route-এর জন্য অনুরোধের বিকল্পগুলি বর্ণনা করা আছে:

Option বিবরণ
text_query প্রয়োজনীয়। রুট বরাবর জায়গার জন্য ন্যাচারাল ল্যাঙ্গুয়েজ সার্চ কোয়েরি—যেমন, ev chargers, coffee বা vegetarian restaurants।
retrieval_token, route_endpoints অথবা encoded_polyline প্রয়োজনীয়। যে রুট বরাবর সার্চ করতে হবে। প্রতিটি অনুরোধে এই তিনটি ফিল্ডের মধ্যে একটি উল্লেখ করুন। রুট নির্দিষ্ট করুন বিকল্প দেখুন।
travel_mode ঐচ্ছিক। রুট ও ডিট্যুর গণনা করার জন্য ব্যবহৃত পরিবহনের মোড: DRIVE (ডিফল্ট), WALK অথবা BICYCLE। WALK এবং BICYCLE শুধুমাত্র route_endpoints-এর সাথে কাজ করে। TRANSIT কাজ করে না। WALK রুট বিটা ভার্সনে আছে এবং কখনও কখনও ফুটপাথ বা পথচারীদের জন্য রাস্তা নাও থাকতে পারে। আপনার অ্যাপে দেখানো সব হাঁটার রুটের জন্য ব্যবহারকারীকে এই সতর্কতা দেখাতে হবে।
routing_preference ঐচ্ছিক। রুট ও ঘুরপথে যাওয়ার সময় গণনা করতে ট্রাফিক ডেটা কীভাবে ব্যবহার করা হয়: ROUTING_PREFERENCE_TRAFFIC_UNAWARE (ডিফল্ট) অথবা ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL। ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL উপলভ্য থাকলে লাইভ ট্রাফিক পরিস্থিতি ব্যবহার করে এবং WALK বা BICYCLE-এর জন্য কাজ করে না।
include_extended_details ঐচ্ছিক। true হলে, সারসংক্ষেপে জায়গার বিস্তারিত বিবরণ অন্তর্ভুক্ত থাকে, যেমন রিভিউ থেকে পাওয়া ইনসাইট, মেনু আইটেম, পরিবেশ, ভিজিটরদের জন্য পরামর্শ, EV চার্জার উপলভ্যতা বা গ্যাসের দাম। ডিফল্ট হিসেবে false সেট করা থাকে।
language_code ঐচ্ছিক। সারসংক্ষেপ ও স্থানীয় ভাষায় অনুবাদ করা ডিট্যুর দূরত্বের জন্য BCP-47 ভাষা কোড—যেমন, en-US বা ja। ডিফল্ট হিসেবে en-US সেট করা থাকে।
region_code ঐচ্ছিক। ব্যবহারকারীর দুই-অক্ষরের CLDR অঞ্চল কোড—যেমন, US বা CA। অঞ্চল-নির্দিষ্ট জায়গার নামকে প্রভাবিত করে এবং প্রযোজ্য আইনের ভিত্তিতে ফলাফলকে প্রভাবিত করতে পারে।

রুট নির্দিষ্ট করুন

প্রতিটি search_along_route অনুরোধে তিনটি পারস্পরিকভাবে এক্সক্লুসিভ ফিল্ডের মধ্যে একটি ব্যবহার করে রুট নির্দিষ্ট করতে হবে। একাধিক রুট ফিল্ড সেট করলে অথবা তিনটিই বাদ দিলে, INVALID_ARGUMENT সমস্যা হয়।

নিচের সারণীতে রুট নির্দিষ্ট করার তিনটি উপায়ের তুলনা করা হয়েছে:

রুটের বিকল্প ইনপুট ফর্ম্যাট যেসব ভ্রমণ মোডে কাজ করে detourDuration ফেরত দিন কখন ব্যবহার করবেন
retrieval_token আগের compute_routes উত্তর থেকে retrievalToken স্ট্রিং (১০ মিনিটের জন্য বৈধ) DRIVE হ্যাঁ এজেন্ট ইতিমধ্যেই ড্রাইভিং রুটের জন্য compute_routes-কে কল করেছে, যার মধ্যে মধ্যবর্তী স্টপ সহ রুট অন্তর্ভুক্ত এবং ব্যবহারকারী সেই রুট বরাবর জায়গা সম্পর্কে জানতে চেয়েছেন।
route_endpoints origin ও destination ওয়েপয়েন্ট সহ অবজেক্ট (address, place_id বা lat_lng) DRIVE, WALK, BICYCLE হ্যাঁ ব্যবহারকারী প্রথমে compute_routes-কে কল না করে, একটি ধাপে দুটি লোকেশনের মধ্যে জায়গা খুঁজতে বলেন অথবা রুটটি হেঁটে বা সাইকেল চালিয়ে যাওয়ার জন্য।
encoded_polyline ড্রাইভিং রুটকে বোঝায় এমন একটি এনকোড করা পলিলাইন স্ট্রিং DRIVE না (শুধুমাত্র localizedDetourDistance ফেরত দেয়) আপনার অ্যাপ্লিকেশনে আগে থেকেই অন্য সোর্স থেকে পাওয়া রুট পলিলাইন আছে, যেমন Routes API।

চেন compute_routes ও search_along_route

compute_routes অনুরোধে DRIVE ট্রাভেল মোড ব্যবহার করা হলে, উত্তরে প্রতিটি রুটে retrievalToken ফিল্ড অন্তর্ভুক্ত থাকে। এই টোকেন ১০ মিনিটের জন্য বৈধ এবং এটি গণনা করা রুট এনকোড করে, যার মধ্যে যেকোনও মধ্যবর্তী স্টপ অন্তর্ভুক্ত। ব্যবহারকারী সেই রুটের আশেপাশের জায়গা সম্পর্কে জানতে চাইলে, LLM retrievalToken ভ্যালু retrieval_token হিসেবে search_along_route-এ পাস করতে পারে।

জায়গার বিস্তারিত বিবরণ

ব্যবহারকারীর অনুরোধে রুটের সাথে সাথে গুণগত ইনসাইট, রিয়েল-টাইম পরিস্থিতি বা বিশেষ অ্যাট্রিবিউট প্রয়োজন হলে, include_extended_details-কে true-এ সেট করুন, যেমন:

  • পর্যালোচনাকারীরা কী বলেন: রিভিউ-ভিত্তিক ইনসাইট, গ্রাহকের মনোভাব ও মতামত।
  • নির্দিষ্ট অফার: মেনু আইটেম, ডিশ, খাবারের বিশেষত্ব, পানীয় বা ব্যবসার হাইলাইট।
  • পরিবেশ: ইন্টিরিয়র ডেকর, নান্দনিকতা, পরিবেশ বা মুড।
  • দর্শকদের জন্য ব্যবহারিক পরামর্শ এবং রিয়েল-টাইম ডেটা: আগে থেকে বুক করতে হবে কিনা, অপেক্ষা করার সময়, জায়গাটি কতটা ব্যস্ত, ইভি চার্জারের উপলভ্যতা, গ্যাসের দাম, পার্কিং, এবং সুবিধা।

কোনও রুট বরাবর স্ট্যান্ডার্ড সার্চের জন্য include_extended_details-কে false (ডিফল্ট) হিসেবে সেট করে রাখুন, যেমন লোকেশন, অপারেটিং সময় এবং ডিট্যুর সময় অনুযায়ী পেট্রোল পাম্প, রেস্ট স্টপ বা কফি শপ খোঁজা। বিস্তারিত বিবরণ সহ অনুরোধ সম্পূর্ণ হতে বেশি সময় লাগে, তবে এর জন্য অতিরিক্ত চার্জ লাগে না কারণ প্রতিটি search_along_route অনুরোধের জন্য Pro SKU-এর অধীনে বিল করা হয়।

উদাহরণ

নিম্নলিখিত MCP অনুরোধ route_endpoints এবং ট্রাফিক-অ্যাওয়ার রাউটিং ব্যবহার করে সান ফ্রান্সিসকো এবং লেক তাহোর মধ্যে EV চার্জিং স্টেশন সার্চ করে:

{
  "method": "tools/call",
  "params": {
    "name": "search_along_route",
    "arguments": {
      "text_query": "fast EV chargers with a coffee shop nearby",
      "route_endpoints": {
        "origin": {"address": "San Francisco, CA"},
        "destination": {"address": "Lake Tahoe, CA"}
      },
      "travel_mode": "DRIVE",
      "routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
      "include_extended_details": true
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

নিম্নলিখিত উদাহরণে আগের compute_routes উত্তরের retrieval_token ব্যবহার করা হয়েছে:

{
  "method": "tools/call",
  "params": {
    "name": "search_along_route",
    "arguments": {
      "text_query": "coffee shops",
      "retrieval_token": "RETRIEVAL_TOKEN"
    }
  },
  "jsonrpc": "2.0",
  "id": 2
}

compute_routes-এর মাধ্যমে ফেরত পাঠানো retrievalToken স্ট্রিং দিয়ে RETRIEVAL_TOKEN পরিবর্তন করুন।

নিম্নলিখিত উদাহরণটি searchAlongRoute REST পদ্ধতিতে প্রথম অনুরোধ পাঠায়:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
  "textQuery": "fast EV chargers with a coffee shop nearby",
  "routeEndpoints": {
    "origin": {"address": "San Francisco, CA"},
    "destination": {"address": "Lake Tahoe, CA"}
  },
  "travelMode": "DRIVE",
  "routingPreference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
  "includeExtendedDetails": true
}' \
"https://mapstools.googleapis.com/v1:searchAlongRoute"

API_KEY-এর জায়গায় আপনার API key লিখুন।

রেসপন্স

উত্তরে নিম্নলিখিত ফিল্ডগুলি থাকে:

  • summary: সার্চ ফলাফল ও ডিট্যুর ট্রেড-অফের ন্যাচারাল ল্যাঙ্গুয়েজ সারসংক্ষেপ। এতে শূন্য-ভিত্তিক উদ্ধৃতি থাকতে পারে, যেমন [0], যা results-এর এন্ট্রিতে ম্যাপ করে।
  • results[]: সারসংক্ষেপে উল্লেখ করা জায়গাগুলির র‍্যাঙ্ক করা তালিকা। প্রতিটি এন্ট্রিতে এগুলি অন্তর্ভুক্ত:
    • place: জায়গা সম্পর্কে বিবরণ:
      • place: জায়গার রিসোর্সের নাম, places/{id} ফর্ম্যাটে।
      • id: জায়গার আইডি। আপনি এটি অন্যান্য Google Maps Platform API-এর সাথে ব্যবহার করতে পারেন, যেমন ম্যাপে জায়গাটি দেখানোর জন্য।
      • location: জায়গার অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেট।
      • googleMapsLinks: জায়গার জন্য Google Maps লিঙ্ক (placeUrl), দিকনির্দেশ (directionsUrl), রিভিউ (reviewsUrl), ফটো (photosUrl) এবং রিভিউ লেখা (writeAReviewUrl)।
      • attribution: অ্যাট্রিবিউশন যা আপনাকে অবশ্যই জায়গার সাথে দেখাতে হবে। অ্যাট্রিবিউশন সংক্রান্ত প্রয়োজনীয়তা দেখুন।
    • detourSummary: রুটের মধ্যে এই জায়গায় থামার জন্য অতিরিক্ত ভ্রমণের সময় ও দূরত্ব:
      • localizedDetourDistance: অনুরোধের ভাষায় ফর্ম্যাট করা অতিরিক্ত দূরত্ব, যেমন "1.2 mi" বা "1.9 km"।
      • detourDuration: অতিরিক্ত ভ্রমণের সময়, সময়সীমার স্ট্রিং হিসেবে, যেমন "180s"। encoded_polyline-এর সাথে রুট নির্দিষ্ট করা থাকলে এই ফিল্ড সেট করা হয় না।
  • contentToken: একটি এজেন্টিক ডেটা ভিজ্যুয়ালাইজেশন টোকেন (প্রিভিউ) যা আপনাকে কোনও অতিরিক্ত খরচ ছাড়াই Places UI Kit-এর মাধ্যমে উত্তরে জায়গাগুলি দেখাতে দেয়। উত্তরে অন্তত একটি জায়গা থাকলে এটি দেখানো হয়।

ফিল্ডের সম্পূর্ণ বিবরণ জানতে, search_along_route রেফারেন্স দেখুন।

বিলিং ও কোটা

প্রতিটি search_along_route অনুরোধ হল Maps Grounding Pro SKU-এর অধীনে একটি বিলেবল ইভেন্ট। include_extended_details-কে true-এ বা routing_preference-কে ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL-এ সেট করলে অতিরিক্ত চার্জ যোগ হয় না। আপনার এজেন্ট প্রথমে compute_routes-কে কল করে এবং তারপর retrieval_token-কে search_along_route-এ পাস করে, প্রতিটি টুল কল আলাদা অনুরোধ হিসেবে বিল করা হয়।

আপনি যদি Places UI Kit-এর মাধ্যমে search_along_route-এর উত্তর থেকে জায়গাগুলি দেখান, তাহলে আপনি এজেন্টিক ডেটা ভিজ্যুয়ালাইজেশন টোকেন (প্রিভিউ) ব্যবহার করতে পারেন যাতে সেই Places UI Kit-এর অনুরোধের জন্য বিল করা না হয়।

search_along_route কোটা হল প্রতিটি প্রোজেক্টের জন্য প্রতি মিনিটে ৩০০টি কোয়েরি। মূল্য জানতে, মূল্যের প্রধান টেবিল এবং ভারতের জন্য মূল্যের টেবিল দেখুন।