টুল: search_along_route
ব্যবহারকারী কোনও ভ্রমণ রুটে (যেমন, "তাহো যাওয়ার পথে পেট্রোল পাম্প", "এসএফ এবং সান জোসের মধ্যে কফি শপ") জায়গা, ব্যবসা বা দর্শনীয় স্থান খুঁজতে চাইলে এই টুলটি কল করুন। এই টুল কল করলে search_places-এর থেকে বেশি খরচ হয়, তাই কোনও রুটের পরিবর্তে একটি লোকেশনের কাছাকাছি সার্চ করার সময় search_places ব্যবহার করুন।
ইনপুট সংক্রান্ত প্রয়োজনীয়তা (গুরুত্বপূর্ণ):
text_query(স্ট্রিং - বাধ্যতামূলক): রুট বরাবর কী সার্চ করতে হবে তার একটি ন্যাচারাল ল্যাঙ্গুয়েজ বিবরণ।- উদাহরণ:
'ev chargers','coffee','vegetarian restaurants','rest stops'.
- উদাহরণ:
রুটের স্পেসিফিকেশন (বাধ্যতামূলক - নিম্নলিখিতগুলির মধ্যে ঠিক একটি প্রদান করুন):
retrieval_token(স্ট্রিং):DRIVEরুটের জন্য আগেরcompute_routesকলের মাধ্যমে ফেরত আসাretrieval_token। রুট আগে থেকেই গণনা করা থাকলে এটি বেছে নিন। টোকেনটি ১০ মিনিট পর্যন্ত কার্যকর থাকবে।route_endpoints(অবজেক্ট): রুটেরoriginএবংdestination।address,lat_lngবাplace_id-এর মধ্যে যেকোনও একটি ব্যবহার করে প্রতিটি প্রদান করতে হবে।- উদাহরণ:
{"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
- উদাহরণ:
encoded_polyline(স্ট্রিং): একটি এনকোড করা পলিলাইন যাDRIVEরুটকে উপস্থাপন করে।
travel_mode(enum - ঐচ্ছিক):DRIVE(ডিফল্ট),WALK, অথবাBICYCLE.WALKএবংBICYCLEশুধুমাত্রroute_endpoints-এর সাথে কাজ করে।TRANSITকাজ করবে না।routing_preference(enum - ঐচ্ছিক):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(ডিফল্ট): লাইভ ট্রাফিক ছাড়াই রুট এবং ঘুরপথে যাওয়ার রাস্তা গণনা করে। সবচেয়ে কম লেটেন্সি।ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: উপলভ্য থাকলে লাইভ ট্রাফিক পরিস্থিতি ব্যবহার করে।WALKবাBICYCLE-এর জন্য কাজ করে না। ব্যবহারকারী ট্রাফিক, যানজট বা ট্রাফিক-অ্যাডজাস্টেড ডিট্যুর টাইম সম্পর্কে জিজ্ঞাসা করলে তবেই এটি সেট করুন। এতে বেশি লেটেন্সি হয়।
include_extended_details(বুলিয়ান - ঐচ্ছিক): শুধুমাত্র তখনইtrue-এ সেট করুন যখন অনুরোধে গুণগত রিভিউ ইনসাইট, নির্দিষ্ট মেনু আইটেম বা অফার, পরিবেশ, ভিজিটরদের জন্য পরামর্শ বা ব্যস্ততা, EV চার্জার উপলভ্যতা, গ্যাসের দাম বা অন্যান্য সমৃদ্ধ গুণগত বিবরণ প্রয়োজন হয়। ডিফল্ট হিসেবেfalseসেট করা থাকে। এটি চালু করলে লেটেন্সি বেড়ে যেতে পারে।language_code(স্ট্রিং - ঐচ্ছিক): ফলাফলের সারসংক্ষেপ এবং জায়গার বিবরণের জন্য ভাষা, যেমন,en,ja,en-US। ডিফল্ট হিসেবেen-USসেট করা থাকে।region_code(স্ট্রিং - ঐচ্ছিক): ব্যবহারকারীর ইউনিকোড CLDR অঞ্চল কোড, যেমন,US,CA।
টুল কলের জন্য নির্দেশাবলী:
- প্রতিটি ফলাফলে একটি
detour_summary(উপলভ্য থাকলে) অন্তর্ভুক্ত থাকে যা অতিরিক্ত দূরত্ব (localized_detour_distance) এবং রুটটিencoded_polylineহিসাবে না দেওয়া থাকলে, সেই জায়গায় থামার কারণে অতিরিক্ত সময় (detour_duration) বর্ণনা করে। বিকল্পের তুলনা করতে এটি ব্যবহার করুন। - উত্তরে
summaryজিরো-বেসড উদ্ধৃতি (যেমন, "[0]") থাকতে পারে যাresults-এ এন্ট্রিকে রেফার করে। - গ্রাউন্ডেড আউটপুট অবশ্যই প্রতিটি
results[].place-এরattributionফিল্ড ব্যবহার করে সোর্সে অ্যাট্রিবিউট করতে হবে, যদি উপলভ্য থাকে।
search_along_route MCP টুল কল করার জন্য কীভাবে curl ব্যবহার করতে হয় তা নিম্নলিখিত কোড স্যাম্পেল থেকে জানতে পারবেন।
| Curl অনুরোধ |
|---|
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": "search_along_route", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
ইনপুট স্কিমা
SearchAlongRoute-এর জন্য অনুরোধের মেসেজ।
SearchAlongRouteRequest
| JSON উপস্থাপনা |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "routingPreference": enum ( |
| ফিল্ড | |
|---|---|
textQuery |
প্রয়োজনীয়। ন্যাচারাল ল্যাঙ্গুয়েজ সার্চ কোয়েরি (যেমন, "ইভি চার্জার", "কফি")। |
languageCode |
ঐচ্ছিক। সারসংক্ষেপ ও জায়গার বিবরণের ভাষা। ডিফল্ট হিসেবে "en-US" সেট করা থাকে। |
regionCode |
ঐচ্ছিক। লোকেশন (যেমন, "US")-এর দেশ/অঞ্চল কোড (CLDR)। |
routingPreference |
ঐচ্ছিক। ট্রাফিক ডেটা কীভাবে ব্যবহার করা হয় তা উল্লেখ করে ঐচ্ছিক রাউটিং সংক্রান্ত পছন্দ। ডিফল্ট হিসেবে TRAFFIC_UNAWARE সেট করা থাকে। |
includeExtendedDetails |
ঐচ্ছিক। উত্তরে জায়গার আরও বিবরণ অন্তর্ভুক্ত করে। ব্যবহারকারীর অনুরোধে সমৃদ্ধ গুণগত ইনসাইট, রিয়েল-টাইম ডাইনামিক্স বা বিশেষ এন্টিটি অ্যাট্রিবিউটের প্রয়োজন হলে এই ফিল্ডটি স্ট্যান্ডার্ড পরোক্ষ অনুসন্ধান (যেমন, ক্যুইজিন, স্টোরের ধরন), লোকেশন/ঠিকানা খোঁজা, পরিচিতির তথ্য, কর্মসময় এবং স্ট্যান্ডার্ড মেটাডেটা/সুযোগ-সুবিধার জন্য এই ফিল্ড চালু করলে আরও বেশি লেটেন্সি হতে পারে। |
travelMode |
ঐচ্ছিক। রুট ও ডিট্যুর গণনা করার জন্য ব্যবহৃত ভ্রমণ মোড নির্দিষ্ট করে। ডিফল্ট হিসেবে |
ইউনিয়ন ফিল্ড route_spec। রুটের বিবরণ: আগে থেকে থাকা রুট, রুট টোকেন অথবা শুরু/শেষের এন্ডপয়েন্ট। route_spec শুধুমাত্র নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: |
|
encodedPolyline |
রুট দেখায় এমন এনকোড করা পলিলাইন স্ট্রিং। https://developers.google.com/maps/documentation/utilities/polylinealgorithm দেখুন |
retrievalToken |
ComputeRoutes-এর আগের কল থেকে পাওয়া রিট্রিভাল টোকেন যা রুটকে দেখায়। |
routeEndpoints |
স্পষ্ট রুট এন্ডপয়েন্ট (শুরুর স্থান ও গন্তব্য)। |
RouteEndpoints
| JSON উপস্থাপনা |
|---|
{ "origin": { object ( |
| ফিল্ড | |
|---|---|
origin |
প্রয়োজনীয়। শুরুর জায়গা (ঠিকানা, প্লেস আইডি বা ভৌগোলিক কোঅর্ডিনেট)। |
destination |
প্রয়োজনীয়। গন্তব্যস্থল (ঠিকানা, স্থান আইডি বা ভৌগোলিক স্থানাঙ্ক)। |
Waypoint
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ফিল্ড | |
|---|---|
ইউনিয়ন ফিল্ড location_type। কোনও লোকেশন দেখানোর বিভিন্ন উপায়। location_type শুধুমাত্র নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: |
|
latLng |
ভৌগোলিক স্থানাঙ্ক ব্যবহার করে নির্দিষ্ট করা একটি পয়েন্ট। |
placeId |
ওয়েপয়েন্টের সাথে যুক্ত প্লেস আইডি। |
address |
মানুষের-পঠনযোগ্য ঠিকানা বা প্লাস কোড। বিস্তারিত জানতে https://plus.codes দেখুন। |
LatLng
| JSON উপস্থাপনা |
|---|
{ "latitude": number, "longitude": number } |
| ফিল্ড | |
|---|---|
latitude |
অক্ষাংশ ডিগ্রিতে। এটি অবশ্যই [-৯০.০, +৯০.০] রেঞ্জের মধ্যে হতে হবে। |
longitude |
ডিগ্রিতে দ্রাঘিমাংশ। এটি অবশ্যই [-১৮০.০, +১৮০.০] রেঞ্জের মধ্যে হতে হবে। |
RoutingPreference
রুট গণনা করার সময় বিবেচনা করার জন্য ফ্যাক্টরগুলি নির্দিষ্ট করে এমন ভ্যালুর সেট।
| Enums | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
কোনও রাউটিং সংক্রান্ত পছন্দ নির্দিষ্ট করা নেই। ডিফল্ট হিসেবে ROUTING_PREFERENCE_TRAFFIC_UNAWARE সেট করা থাকে। |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
লাইভ ট্রাফিক পরিস্থিতি বিবেচনা না করেই রুট গণনা করে। ট্রাফিক পরিস্থিতি গুরুত্বপূর্ণ বা প্রযোজ্য না হলে উপযুক্ত। এই ভ্যালু ব্যবহার করলে সবচেয়ে কম লেটেন্সি হয়। |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
ট্রাফিক ডেটা উপলভ্য থাকলে, লাইভ ট্রাফিক পরিস্থিতি বিবেচনা করে রুট গণনা করে। এই ভ্যালু Pro টিয়ার ট্রিগার করবে এবং এর ফলে বিলিং খরচ ও লেটেন্সি বেশি হবে। |
RouteTravelMode
ভ্রমণের মোড নির্দিষ্ট করতে ব্যবহৃত মানের সেট।
| Enums | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
কোনও ভ্রমণ মোড নির্দিষ্ট করা নেই। ডিফল্ট হিসেবে DRIVE সেট করা থাকে। |
DRIVE |
যাত্রীবাহী গাড়িতে ভ্রমণ। |
WALK |
হেঁটে ভ্রমণ করা হয়েছে। মনে রাখবেন: WALK রুট বিটা ভার্সনে আছে এবং কখনও কখনও ফুটপাথ বা পথচারীদের জন্য রাস্তা নাও থাকতে পারে। আপনার অ্যাপে দেখানো সব হাঁটার পথের জন্য ব্যবহারকারীকে এই সতর্কতা অবশ্যই দেখাতে হবে। |
BICYCLE |
সাইকেলে ভ্রমণ করুন। |
TRANSIT |
সর্বজনীন পরিবহনের সাহায্যে ভ্রমণ। |
আউটপুট স্কিমা
SearchAlongRoute-এর জন্য উত্তর মেসেজ।
SearchAlongRouteResponse
| JSON উপস্থাপনা |
|---|
{
"results": [
{
object ( |
| ফিল্ড | |
|---|---|
results[] |
শুধু আউটপুট। রুটে পাওয়া সার্চ ফলাফলের র্যাঙ্ক করা তালিকা। |
summary |
শুধু আউটপুট। সার্চ ফলাফল ও ডিট্যুর ট্রেড-অফের ন্যাচারাল ল্যাঙ্গুয়েজ সারসংক্ষেপ। |
contentToken |
শুধু আউটপুট। একটি এনক্রিপ্ট করা টোকেন যা সার্চের প্রসঙ্গকে এনক্যাপসুলেট করে এবং Google Maps ভিজ্যুয়াল রেন্ডারিং পরিষেবা, SDK বা Maps Agentic UI Toolkit (A2UI)-এ পাস করা যেতে পারে যাতে ফিরে আসা সার্চ ফলাফলের জন্য ইন্টার্যাক্টিভ UI কম্পোনেন্ট দেখানো যায়। |
ফলাফল
| JSON উপস্থাপনা |
|---|
{ "place": { object ( |
| ফিল্ড | |
|---|---|
place |
শুধু আউটপুট। রুট বরাবর খুঁজে পাওয়া জায়গা সম্পর্কে বিবরণ। |
detourSummary |
শুধু আউটপুট। রুটে এই জায়গাটি মধ্যবর্তী স্টপ হিসেবে যোগ করার ফলে হওয়া ডিট্যুর মেট্রিক। ডিটিউর মেট্রিক গণনা করা না গেলে বাদ দেওয়া বা খালি রাখা হয়। |
PlaceView
| JSON উপস্থাপনা |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| ফিল্ড | |
|---|---|
place |
"places/{id}" ফর্ম্যাটে, অন্তর্নিহিত জায়গার রিসোর্সের নাম। |
id |
অন্তর্নিহিত জায়গার প্লেস আইডি। |
googleMapsLinks |
Google Maps-এর বিভিন্ন অ্যাকশন ট্রিগার করার লিঙ্ক। |
attribution |
জায়গার সাথে দেখানোর জন্য প্রয়োজনীয় অ্যাট্রিবিউশন। |
ইউনিয়ন ফিল্ড
|
|
location |
এই জায়গার অবস্থান। |
LatLng
| JSON উপস্থাপনা |
|---|
{ "latitude": number, "longitude": number } |
| ফিল্ড | |
|---|---|
latitude |
অক্ষাংশ ডিগ্রিতে। এটি অবশ্যই [-৯০.০, +৯০.০] রেঞ্জের মধ্যে হতে হবে। |
longitude |
ডিগ্রিতে দ্রাঘিমাংশ। এটি অবশ্যই [-১৮০.০, +১৮০.০] রেঞ্জের মধ্যে হতে হবে। |
GoogleMapsLinks
| JSON উপস্থাপনা |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| ফিল্ড | |
|---|---|
directionsUrl |
জায়গাটির দিকনির্দেশ দেখানোর লিঙ্ক। লিঙ্কটি শুধুমাত্র গন্তব্যের লোকেশন দেখায় এবং ডিফল্ট ভ্রমণ মোড |
placeUrl |
এই জায়গাটি দেখানোর জন্য একটি লিঙ্ক। |
writeAReviewUrl |
Google Maps-এ এই জায়গার জন্য রিভিউ লেখার লিঙ্ক। |
reviewsUrl |
Google Maps-এ এই জায়গার রিভিউ দেখানোর জন্য একটি লিঙ্ক। |
photosUrl |
Google Maps-এ এই জায়গার ফটো দেখানোর লিঙ্ক। |
অ্যাট্রিবিউশন
| JSON উপস্থাপনা |
|---|
{ "title": string, "url": string } |
| ফিল্ড | |
|---|---|
title |
অ্যাট্রিবিউশনের জন্য দেখানোর শীর্ষক। |
url |
অ্যাট্রিবিউশনের জন্য লিঙ্ক করার URL। |
DetourSummary
| JSON উপস্থাপনা |
|---|
{ "detourDuration": string, "localizedDetourDistance": string } |
| ফিল্ড | |
|---|---|
detourDuration |
মূল রুট থেকে এই জায়গায় ঘুরে যেতে অতিরিক্ত ভ্রমণের সময় প্রয়োজন। ' |
localizedDetourDistance |
মূল রুট থেকে এই জায়গায় পৌঁছাতে যতটা অতিরিক্ত দূরত্ব অতিক্রম করতে হবে, সেটি অনুরোধের ভাষায় ফর্ম্যাট করা হয়েছে (যেমন, "১.২ মাইল" বা "১,৯ কিমি")। |
সময়সীমা
| JSON উপস্থাপনা |
|---|
{ "seconds": string, "nanos": integer } |
| ফিল্ড | |
|---|---|
seconds |
সময়ের ব্যাপ্তির সাইন করা সেকেন্ড। -৩১৫,৫৭৬,০০০,০০০ থেকে +৩১৫,৫৭৬,০০০,০০০-এর মধ্যে হতে হবে। মনে রাখবেন: এই সীমাগুলি এখান থেকে গণনা করা হয়: ৬০ সেকেন্ড/মিনিট * ৬০ মিনিট/ঘণ্টা * ২৪ ঘণ্টা/দিন * ৩৬৫.২৫ দিন/বছর * ১০০০০ বছর |
nanos |
সময়ের ব্যাপ্তির ন্যানোসেকেন্ড রেজোলিউশনে সেকেন্ডের সাইন করা ভগ্নাংশ। এক সেকেন্ডের কম সময়কে 0 |
টুল অ্যানোটেশন
প্রদত্ত টুলের প্রাথমিক ঝুঁকি বর্ণনা করার জন্য MCP ক্লায়েন্টদের টুল অ্যানোটেশন পাঠানো হয়। বেশিরভাগ ক্লায়েন্ট এইসব ইঙ্গিতকে বিশ্বাসযোগ্য বলে মনে করে না, তবে ব্যবহারকারীকে কখন কনফার্মেশন প্রম্পট পাঠানো হবে তা নির্ধারণ করতে এগুলি ব্যবহার করা যেতে পারে।
টাইটেল স্ট্রিংয়ের সাথে, নিম্নলিখিত বুলিয়ান ইঙ্গিতগুলি এইভাবে সংজ্ঞায়িত করা হয়েছে:
readOnlyHint: সত্য হলে, টুলটি তার পরিবেশ পরিবর্তন করে না। ডিফল্ট: false.destructiveHint: সত্য হলে, টুলটি ধ্বংসাত্মক অ্যাকশন পারফর্ম করতে পারে। মিথ্যা হলে, টুলটি শুধুমাত্র যোগ করার কাজ করতে পারে। ডিফল্ট: true.idempotentHint: সত্য হলে, একই আর্গুমেন্ট সহ টুলটিকে বারবার কল করলে এর এনভায়রনমেন্টে কোনও অতিরিক্ত প্রভাব পড়বে না। ডিফল্ট: false.openWorldHint: সত্য হলে, টুলটি এক্সটার্নাল এন্টিটির 'মুক্ত পৃথিবী'-র সাথে ইন্টার্যাক্ট করতে পারে। মিথ্যা হলে, টুলটি শুধুমাত্র অভ্যন্তরীণ এন্টিটির সাথে ইন্টার্যাক্ট করতে পারে। যেমন, ওয়েব সার্চ টুল ওপেন ওয়ার্ল্ড হলেও মেমরি টুল ওপেন ওয়ার্ল্ড নয়।
ডেস্ট্রাক্টিভ ইঙ্গিত: ❌ | আইডেমপোটেন্ট ইঙ্গিত: ❌ | শুধু পড়ার ইঙ্গিত: ✅ | ওপেন ওয়ার্ল্ড ইঙ্গিত: ❌