এই ডকুমেন্টটি একটি পুরনো নিবন্ধের রিফ্রেশ যা GMP API-এর পূর্ববর্তী সংস্করণ ব্যবহার করেছিল। এই কন্টেন্টটি ২০২৩-২৪ সালে চালু হওয়া Places API এবং ২০২৩ সালে চালু হওয়া Routes API-এর নতুন সংস্করণে আপডেট করা হয়েছে।
সাধারণত যখন ব্যবহারকারী কোনও আকর্ষণীয় স্থানে (POI) গাড়ি চালান, তখন তাদের কাছের কোনও স্থানে যেমন পার্কিং লট বা অ্যাক্সেস পয়েন্টে নেভিগেশনের প্রয়োজন হয়। কল্পনা করুন যে একজন ড্রাইভারকে বিমানবন্দর বা শপিং মলে যেতে হবে। বিমানবন্দরে যাওয়ার সময় ড্রাইভার বিমানবন্দর কম্পাউন্ডের কেন্দ্রস্থলের পরিবর্তে টার্মিনাল বা ড্রপ-অফ পয়েন্টে পৌঁছানোর চেষ্টা করছেন। একইভাবে, শপিং সেন্টারের পাশে একটি পার্কিং লট গাড়ি ব্যবহারকারীর জন্য অনেক ভালো বিকল্প হতে পারে। এই ক্ষেত্রে, ড্রাইভারকে গাইড করার জন্য একটি অ্যাপ বা পরিষেবা তৈরি করার সময়, প্রথমে তারা যে স্থানে যাচ্ছেন তা খুঁজে বের করুন এবং তারপরে ড্রাইভারকে সেই স্থানের কাছাকাছি ঐচ্ছিক গন্তব্যস্থল অফার করুন। এই পদ্ধতিটি আপনাকে আপনার গ্রাহকদের আরও ভাল পরিষেবা প্রদান করতে এবং প্রদর্শন করতে দেয় যে আপনি তাদের সময়কে মূল্য দেন, একটি ছোট কিন্তু বুদ্ধিমান উন্নয়ন প্রচেষ্টার মাধ্যমে যা Google Maps প্ল্যাটফর্ম দ্বারা প্রদত্ত অবস্থান ডেটা ব্যবহার করে।

আমরা দেখাবো কিভাবে আপনি নতুন Places API এবং Routes API কে ধারাবাহিকভাবে অথবা সংমিশ্রণে ব্যবহার করে আপনার গন্তব্যের পাশে গাড়ি পার্ক করার জন্য সঠিক স্থান চিহ্নিত করতে পারেন। এই সমাধানের লক্ষ্য হল শেষ গন্তব্যের কাছাকাছি গাড়ি চালানোর সময় গাড়ি পার্ক করার জন্য একটি জায়গা খুঁজে পেতে অনিশ্চয়তা এবং একাধিক মিথস্ক্রিয়া দূর করা। এই কেসগুলি কীভাবে বিস্তারিতভাবে বাস্তবায়ন করা যেতে পারে তার দুটি উদাহরণ দেখুন।
উদাহরণ ১ - পার্কিং লট ছাড়াই একটি পর্যটন কেন্দ্র
এমন একটি স্থান বেছে নিন যা সরাসরি রাস্তার ধারের সাথে সংযুক্ত নয় যাতে আলাদাভাবে একটি রুট পুনরুদ্ধার করতে হয়। গন্তব্য হল প্যারিসের নটরডেম এবং শুরুর বিন্দু হিসেবে আমরা গ্যারে দে ল'এস্ট রেলওয়ে স্টেশন (48.87697775149635, 2.3592247806755564) ব্যবহার করব।

নটরডেম থেকে প্রায় ১৬ মিনিট উত্তরে স্টেশন থেকে ড্রাইভার বেরিয়ে যায়। নটরডেম একটি বিখ্যাত পর্যটন আকর্ষণ, যেখানে সেতুর প্রবেশাধিকার রয়েছে, কিছু একমুখী রাস্তা রয়েছে এবং কাছাকাছি কোনও বড় পার্কিং লট নেই, তাই এটি একটি আকর্ষণীয় চ্যালেঞ্জ হওয়া উচিত।
১. API অনুরোধ স্থাপন করে
এই উদাহরণে Places API অনুরোধটি Notre Dame খুঁজে পেতে টেক্সট অনুসন্ধান ব্যবহার করছে। বিস্তারিত জানার জন্য ডেভেলপার ডকুমেন্টেশন দেখুন। এই উদাহরণগুলিতে "$APIKEY" হল Google Cloud Console-এ সক্রিয় Google Maps Platform Places and Routes API-এর জন্য আপনার কাছে থাকা API কী। আরও বিস্তারিত ব্যাখ্যার জন্য Google Maps Platform দিয়ে শুরু করার জন্য ডকুমেন্টেশন দেখুন।
নতুন Places API অনুরোধগুলির একটি নতুন ফর্ম্যাট রয়েছে। প্রতিক্রিয়া ক্ষেত্রগুলি আর স্থির থাকে না এবং একজন ডেভেলপার হিসেবে আপনাকে হেডারে একটি ফিল্ডমাস্ক সংজ্ঞায়িত করতে হবে। ফিল্ডমাস্কের ব্যবহার ডকুমেন্টেশনে সংজ্ঞায়িত করা হয়েছে।
curl -X POST --data @notre_dame.json \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress,places.location' \
'https://places.googleapis.com/v1/places:searchText'
অনুসন্ধান প্যারামিটারের জন্য "notre_date.json" কন্টেন্ট সহ:
{
"textQuery": "Notre Dame, Paris",
"languageCode": "en"
}
উপরের অনুরোধের প্রতিক্রিয়া নিম্নলিখিত অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক দেয়:
{
"places": [
{
"id": "ChIJATr1n-Fx5kcRjQb6q6cdQDY",
"formattedAddress": "6 Parvis Notre-Dame - Pl. Jean-Paul II, 75004 Paris, France",
"location": {
"latitude": 48.852968200000007,
"longitude": 2.3499021
},
"displayName": {
"text": "Cathédrale Notre-Dame de Paris",
"languageCode": "en"
}
}
]
}
আপনি দেখতে পাচ্ছেন, স্থানাঙ্কগুলি প্রকৃতপক্ষে নটরডেমকে চিহ্নিত করে।
![]() | ![]() |
একজন ডেভেলপার বা পরিষেবা প্রদানকারী হিসেবে, ড্রাইভারকে স্বয়ংক্রিয়ভাবে "নটর ডেমের কাছে পার্কিং খুঁজছেন?" বলা ভালো, অথবা যদি ড্রাইভারের বৈদ্যুতিক গাড়ি থাকে, তাহলে আপনি চার্জিং স্টেশন খুঁজতে চাইতে পারেন। ডিভাইস এবং স্ক্রিনের উপর নির্ভর করে ব্যবহারকারীর অভিজ্ঞতা ভিন্ন হবে, তবে অল্প সময়ের পরে অদৃশ্য হয়ে যাওয়া একটি সূক্ষ্ম ডায়ালগ টেক্সট এই ক্ষেত্রে বিবেচনা করার মতো হতে পারে। নটর ডেমের কাছে পার্কিং খুঁজে পেতে, "parking" এবং "electric_vehicle_charging_station" টাইপ করে ৫০০ মিটার ব্যাসার্ধের একটি Places API nearby অনুসন্ধান করুন। নিম্নলিখিত উদাহরণটি নটর ডেমের ৫০০ মিটারের মধ্যে পার্কিং এলাকাগুলিতে ফলাফলগুলিকে পক্ষপাতী করবে।
curl -X POST -d '{
"includedTypes": ["parking", "electric_vehicle_charging_station"],
"maxResultCount": 10,
"rankPreference": "DISTANCE",
"locationRestriction": {
"circle": {
"center": {
"latitude": 48.852968200000007,
"longitude": 2.3499021},
"radius": 500.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H "X-Goog-FieldMask: places.displayName,places.location" \
https://places.googleapis.com/v1/places:searchNearby
প্রথম ফলাফলটি হল 48.854981, 2.350629 এ একটি চার্জিং স্টেশন, যদিও আপনি যখন এই উদাহরণটি চালাবেন, তখন আপনার ফলাফল পরিবর্তিত হতে পারে। পরবর্তী অংশে যেখানে আমরা একটি Routes API অনুরোধ করছি সেখানে এই অবস্থানটি ব্যবহার করুন।
2. রুট API অনুরোধ
নটরডেমের কাছাকাছি কোনও চার্জিং স্টেশন থেকে স্টেশনে যাওয়ার রুট খুঁজে পেতে, আপনাকে একটি রুটস API অনুরোধ করতে হবে। কেবল উৎপত্তি এবং গন্তব্য প্যারামিটার সেট করুন। আরও বিকল্পের জন্য ডেভেলপার ডকুমেন্টেশন দেখুন।
curl -X POST -d '{
"origin":{
"location":{
"latLng":{
"latitude": 48.87697775149635,
"longitude": 2.3592247806755564
}
}
},
"destination":{
"location":{
"latLng":{
"latitude": 48.854981,
"longitude": 2.350629
}
}
},
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE",
"departureTime": "2024-05-16T15:01:23.045123456Z",
"computeAlternativeRoutes": false,
"routeModifiers": {
"avoidTolls": false,
"avoidHighways": false,
"avoidFerries": false
},
"languageCode": "en-US",
"units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'
রুটস এপিআই রেসপন্সে সাধারণত একাধিক রুট সাজেশন থাকে। রেসপন্সে রুট ডেটা অন্তর্ভুক্ত করতে, ফিল্ডমাস্কে "routes.legs" সংজ্ঞায়িত করুন। প্রতিটি রুটে একাধিক "legs" থাকে এবং সেগুলিতে ভ্রমণের দূরত্ব এবং স্থানাঙ্ক দেখানো একাধিক "পদক্ষেপ" থাকে। গাড়ির সাথে পৌঁছানো যায় এমন চূড়ান্ত স্থানাঙ্ক খুঁজে পেতে, আপনার নির্বাচিত রুটের শেষ ধাপের "endLocation" ক্ষেত্রটি ব্যবহার করুন। "latitude": 48.854937299999996, "drighimum": 2.3505841999999997
এই জায়গাটি হয়তো প্রথম পছন্দের নাও মনে হতে পারে, কিন্তু যখন আপনি মানচিত্র বা গুগল স্ট্রিট ভিউ দেখবেন, তখন আপনি দেখতে পাবেন যে এই জায়গাটি নটরডেম থেকে খুব কম হাঁটার দূরত্বে, প্রায় ৬-৭ মিনিটের মধ্যে।

চার্জিং স্টেশন পার্কিং স্পট থেকে নটরডেম পর্যন্ত হাঁটার পথ
উদাহরণস্বরূপ সারাংশ ১
আপনি দেখতে পাচ্ছেন, গাড়ির জন্য পার্কিং এরিয়া খুঁজে পেতে মাত্র কয়েকটি API কল করতে হবে এবং ড্রাইভারকে পরামর্শটি প্রদর্শন করতে হবে। এটি আপনার ব্যবহারকারীদের সময় বাঁচায় কারণ তারা একমুখী রাস্তায় গাড়ি চালাচ্ছেন না বা জনাকীর্ণ পর্যটন কেন্দ্রে গাড়ি রেখে যাওয়ার জন্য কোনও জায়গা খুঁজছেন না। সারসংক্ষেপ হিসেবে আমরা নিম্নলিখিত API অনুরোধগুলি করেছি:
- নটরডেম স্থানাঙ্ক খুঁজে পেতে একটি প্লেস এপিআই টেক্সট অনুসন্ধান অনুরোধ
- এই স্থানাঙ্কগুলির 500 মিটারের মধ্যে একটি বৈদ্যুতিক গাড়ির চার্জিং স্টেশন সহ একটি পার্কিং এলাকা খুঁজে পেতে কাছাকাছি একটি স্থান API অনুসন্ধান করুন।
- চার্জিং স্টেশনে যাওয়ার রুট খুঁজে বের করার জন্য একটি রুটস API অনুরোধ
উদাহরণ ২ - একটি বৃহৎ বিমানবন্দরের টার্মিনালে গাইড করা

আরেকটি উদাহরণ বিবেচনা করুন যেখানে ড্রাইভার এমন একটি বৃহৎ এলাকায় পৌঁছানোর চেষ্টা করছেন যেখানে একাধিক স্থান, POI বা সম্ভাব্য ড্রপ-অফ পয়েন্ট রয়েছে। ড্রাইভার যুক্তরাজ্যের ওয়েম্বলি স্টেডিয়াম (51.557263604707224, -0.2794575145680608) থেকে লন্ডন হিথ্রো বিমানবন্দর টার্মিনাল 5- এ যাওয়ার চেষ্টা করছেন।
নতুন Places API অটোকম্পলিটের সবচেয়ে ভালো দিক হলো, এটি একটি প্রাথমিক প্রকারকে অনুসন্ধানের মানদণ্ড হিসেবে সংজ্ঞায়িত করার ক্ষমতা প্রদান করে এবং API-এর সাথে সম্ভাব্য অনুসন্ধান ফলাফল হিসেবে সাব-প্রেমিস পূর্বাভাস দেয়। এই ক্ষেত্রে এর অর্থ হল বিমানবন্দর এবং পার্কিং অনুসন্ধান করলে টার্মিনাল বা গাড়ি পার্কও ফিরে আসবে। ডকুমেন্টেশনে অন্তর্ভুক্ত বা বাদ দেওয়ার জন্য প্রকারের একটি সম্পূর্ণ তালিকা আপনি খুঁজে পেতে পারেন।
curl -X POST -d '{
"input": "Heathrow",
"includedPrimaryTypes": ["airport", "parking"]
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
https://places.googleapis.com/v1/places:autocomplete
উপরের প্রশ্নটি আমাদের টার্মিনাল এবং সেই টার্মিনালগুলিতে পৃথক ড্রপ-অফ পয়েন্টগুলির একটি তালিকা দেয়। ফলাফলের তালিকা থেকে আমরা "লন্ডন হিথ্রো বিমানবন্দর টার্মিনাল 5" এবং এর স্থান আইডি খুঁজে পেতে পারি:
"place_id" : "ChIJo21hnPxxdkgRksRL0KQRWII",
"placeId" প্যারামিটার ব্যবহার করে আমরা Routes API-কে বলতে পারি যে আমরা কিছু ইচ্ছামত স্থানাঙ্কের পরিবর্তে একটি স্থানে পৌঁছানোর চেষ্টা করছি।
curl -X POST -d '{
"origin":{
"location":{
"latLng":{
"latitude": 51.557263604707224,
"longitude": -0.2794575145680608
}
}
},
"destination":{
"placeId": "ChIJo21hnPxxdkgRksRL0KQRWII"
},
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE",
"departureTime": "2024-05-16T15:01:23.045123456Z",
"computeAlternativeRoutes": false,
"languageCode": "en-US",
"units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'
আবার, আগের উদাহরণের মতো, JSON প্রতিক্রিয়ার সমস্ত ধাপগুলি পড়ে আপনি যাত্রার শেষ অংশ এবং শেষ অবস্থানগুলি অক্ষ এবং দীর্ঘ স্থানাঙ্ক (51.4714348, "দ্রাঘিমাংশ": -0.48967890000000003) খুঁজে পাবেন।

উদাহরণস্বরূপ সারাংশ 2
পূর্ববর্তী উদাহরণের মতো, ড্রাইভারকে উন্নত নির্দেশনা প্রদানের জন্য উন্নয়ন প্রচেষ্টা খুবই কম এবং ড্রাইভারের সময় সাশ্রয় করার সুবিধাগুলি পরিমাপ করা যেতে পারে। আমরা নিম্নলিখিত অনুরোধগুলি করেছি:
- হিথ্রো বিমানবন্দর টার্মিনাল ৫ খুঁজে পেতে একটি প্লেস এপিআই স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ
- ওয়েম্বলি থেকে টার্মিনাল ৫ পর্যন্ত রুট পেতে একটি রুটস API অনুরোধ
এই উদাহরণটি নতুন Places API বৈশিষ্ট্যগুলির উপরিভাগকে কেবল স্ক্র্যাচ করে। বিমানবন্দর এবং আন্তর্জাতিক বিমানবন্দরের মতো নতুন স্থানের ধরণগুলি একবার দেখুন।
উপসংহার
আপনি দেখতে পাচ্ছেন, গাড়িতে ভ্রমণকারী আপনার গ্রাহকদের একটি প্রিমিয়াম পরিষেবা প্রদানের জন্য প্রয়োজনীয় উন্নয়ন প্রচেষ্টা বেশ কম এবং আপনি আপনার গ্রাহকদের চাহিদা সম্পর্কে কীভাবে চিন্তা করছেন তা প্রদর্শন করতে পারেন।
ডেভেলপমেন্টের উদ্দেশ্যে, আপনি আপনার গ্রাহকদের জন্য পরিষেবা তৈরিতে সাহায্য করার জন্য উপলব্ধ অনেক লাইব্রেরি এবং সরঞ্জাম ব্যবহার করতে পারেন। গুগল ম্যাপস প্ল্যাটফর্মের জন্য আমাদের সর্বজনীনভাবে উপলব্ধ GitHub সংগ্রহস্থলটি দেখুন।
পরবর্তী পদক্ষেপ
GMP ব্যবহার শুরু করা: https://developers.google.com/maps/get-started
আরও পড়ার পরামর্শ দেওয়া হচ্ছে
Places API স্বয়ংক্রিয়ভাবে সম্পন্ন (নতুন) ডকুমেন্টেশন: https://developers.google.com/maps/documentation/places/web-service/place-autocomplete
রুটস এপিআই ডকুমেন্টেশন: https://developers.google.com/maps/documentation/routes
অবদানকারীরা
প্রধান লেখক: Mikko Toivanen | গুগল ম্যাপ প্ল্যাটফর্ম সলিউশন ইঞ্জিনিয়ার

