একটি গাড়ী সহ অবস্থানগুলিতে নেভিগেট করার সময় সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা তৈরি করার টিপস৷

এই নথিটি একটি পুরানো নিবন্ধের রিফ্রেশ যা GMP API-এর পূর্ববর্তী সংস্করণগুলি ব্যবহার করেছিল৷ এই সামগ্রীটি 2023-24 সালে চালু হওয়া Places API এবং 2023 সালে চালু হওয়া Routes API-এর নতুন সংস্করণে আপডেট করা হয়েছে।

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

System diagram

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

উদাহরণ 1 - পার্কিং লট ছাড়া একটি পর্যটক আকর্ষণ

রাস্তার ধারের সাথে সরাসরি সংযুক্ত নয় এমন একটি অবস্থান বেছে নিন যাতে একটি রুট আলাদাভাবে পুনরুদ্ধার করতে হয়, গন্তব্যটি প্যারিসের নটরডেম এবং একটি সূচনা পয়েন্ট হিসাবে আমরা গারে দে ল'এস্ট রেলওয়ে স্টেশন (48.87697775149635, 2.3592247806755564) ব্যবহার করব।

Gare l'Est

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

  1. স্থান API অনুরোধ

এই উদাহরণ Places API অনুরোধ নটরডেম খুঁজে পেতে পাঠ্য অনুসন্ধান ব্যবহার করছে। বিস্তারিত জানার জন্য ডেভেলপার ডকুমেন্টেশন দেখুন। এই উদাহরণগুলিতে "$APIKEY" হল Google ক্লাউড কনসোলে সক্ষম Google মানচিত্র প্ল্যাটফর্ম স্থান এবং রুট APIগুলির জন্য আপনার কাছে থাকা API কী৷ আরও বিস্তারিত ব্যাখ্যার জন্য Google Maps প্ল্যাটফর্মের সাথে শুরু করার জন্য ডকুমেন্টেশন দেখুন।

নতুন স্থান 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"
      }
    }
  ]
}

আপনি দেখতে পাচ্ছেন, স্থানাঙ্কগুলি প্রকৃতপক্ষে নটরডেমকে চিহ্নিত করে।

Notre Dame entrance photoMap of Notre Dame area

একজন বিকাশকারী বা পরিষেবা প্রদানকারী হিসাবে, ড্রাইভারকে স্বয়ংক্রিয়ভাবে অনুরোধ করা একটি ভাল ধারণা "নটরডেমের কাছে পার্কিং খুঁজছেন?" অথবা যদি চালকের একটি বৈদ্যুতিক যান থাকে তবে আপনি একটি চার্জিং স্টেশন অনুসন্ধান করতে চাইতে পারেন। ডিভাইস এবং স্ক্রিনের উপর নির্ভর করে ব্যবহারকারীর অভিজ্ঞতা ভিন্ন হবে, তবে একটি সূক্ষ্ম ডায়লগ পাঠ্য যা অল্প সময়ের পরে অদৃশ্য হয়ে যায় এই ক্ষেত্রে বিবেচনা করা মূল্যবান হতে পারে। নটরডেমের কাছে পার্কিং খুঁজতে, 500 মিটার ব্যাসার্ধ সহ "পার্কিং" এবং "ইলেক্ট্রিক_ভেহিকেল_চার্জিং_স্টেশন" টাইপ সহ একটি Places API কাছাকাছি অনুসন্ধান করুন। নিম্নলিখিত উদাহরণটি নটরডেমের 500 মিটারের মধ্যে পার্কিং এলাকায় ফলাফলগুলিকে পক্ষপাতিত্ব করবে৷

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

  1. **রুট 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'

রুট API প্রতিক্রিয়া সাধারণত একাধিক রুট পরামর্শ ধারণ করে। প্রতিক্রিয়াতে রুট ডেটা অন্তর্ভুক্ত করতে, ফিল্ডমাস্কে "routes.legs" সংজ্ঞায়িত করুন। প্রতিটি রুটে একাধিক "পা" থাকে এবং এতে একাধিক "পদক্ষেপ" থাকে যা ভ্রমণের দূরত্ব এবং স্থানাঙ্ক দেখায়। একটি গাড়ির সাথে পৌঁছানো যায় এমন চূড়ান্ত স্থানাঙ্কগুলি খুঁজে পেতে, আপনার নির্বাচিত একটি রুটে শেষ পায়ের শেষ ধাপের "শেষ অবস্থান" ক্ষেত্রটি ব্যবহার করুন৷ "অক্ষাংশ": 48.854937299999996, "দ্রাঘিমাংশ": 2.3505841999999997

এই অবস্থানটি প্রথম পছন্দ নয় বলে মনে হতে পারে, কিন্তু আপনি যখন ম্যাপ বা গুগল স্ট্রিট ভিউ দেখেন, আপনি দেখতে পাবেন যে এই অবস্থানটি নটরডেম থেকে প্রায় 6-7 মিনিটের হাঁটার দূরত্বের মধ্যে।

Directions to Notre Dame

চার্জিং স্টেশন পার্কিং স্পট থেকে নটরডেম পর্যন্ত হাঁটা পথ

সারাংশ উদাহরণ 1

আপনি দেখতে পাচ্ছেন, একটি গাড়ির জন্য একটি পার্কিং এলাকা খুঁজে পেতে শুধুমাত্র কয়েকটি API কল এবং ড্রাইভারকে পরামর্শ প্রদর্শনের প্রয়োজন। এটি আপনার ব্যবহারকারীদের জন্য সময় সাশ্রয় করে কারণ তারা একমুখী রাস্তায় গাড়ি চালাচ্ছে না বা একটি ভিড় পর্যটন আকর্ষণে গাড়ি ছাড়ার জায়গা খোঁজার চেষ্টা করছে না। সংক্ষিপ্তসার হিসাবে আমরা নিম্নলিখিত API অনুরোধগুলি করেছি:

  • নটরডেম স্থানাঙ্কগুলি খুঁজে পেতে একটি স্থান API পাঠ্য অনুসন্ধানের অনুরোধ৷
  • সেই স্থানাঙ্কগুলির 500 মিটারের মধ্যে একটি বৈদ্যুতিক গাড়ি চার্জিং স্টেশন সহ একটি পার্কিং এলাকা খুঁজে পেতে কাছাকাছি একটি স্থান API অনুসন্ধান করুন
  • চার্জিং স্টেশনে যাওয়ার জন্য একটি রুট এপিআই অনুরোধ

উদাহরণ 2 - একটি বড় বিমানবন্দরে একটি টার্মিনালে গাইড করা

Map of Heathrow airport

আরেকটি উদাহরণ বিবেচনা করুন যেখানে ড্রাইভার একাধিক অবস্থান, POI বা সম্ভাব্য ড্রপ-অফ পয়েন্ট রয়েছে এমন একটি বড় এলাকায় পৌঁছানোর চেষ্টা করছে। ড্রাইভার ওয়েম্বলি স্টেডিয়াম, ইউকে (51.557263604707224, -0.2794575145680608) থেকে ছেড়ে যাচ্ছে এবং লন্ডন হিথ্রো বিমানবন্দর টার্মিনাল 5 এ যাওয়ার চেষ্টা করছে।

নতুন Places API স্বয়ংসম্পূর্ণ সম্পর্কে যা দুর্দান্ত তা হল সম্ভাব্য অনুসন্ধান ফলাফল হিসাবে API-এর পূর্বাভাস দেওয়ার সাব প্রিমিসেসের সাথে একত্রে অনুসন্ধানের মানদণ্ড হিসাবে একটি প্রাথমিক প্রকারকে সংজ্ঞায়িত করার ক্ষমতা। এই ক্ষেত্রে এর মানে হল যে একটি বিমানবন্দর অনুসন্ধান করা টার্মিনালগুলিও ফিরিয়ে দেবে। আপনি ডকুমেন্টেশনে অন্তর্ভুক্ত বা বাদ দেওয়ার প্রকারের সম্পূর্ণ তালিকা খুঁজে পেতে পারেন।

curl -X POST -d '{
  "input": "Heathrow",
  "includedPrimaryTypes": ["airport"]
}' \
-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)৷

Terminal 5 Street View

সারাংশ উদাহরণ 2

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

  • হিথ্রো বিমানবন্দরের টার্মিনাল 5 খুঁজে পাওয়ার জন্য একটি স্থান API স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ৷
  • ওয়েম্বলি থেকে টার্মিনাল 5 পর্যন্ত একটি রুট পেতে একটি রুট API অনুরোধ

এই উদাহরণটি নতুন স্থানের API বৈশিষ্ট্যগুলির পৃষ্ঠকে স্ক্র্যাচ করে। এয়ারস্ট্রিপ এবং আন্তর্জাতিক বিমানবন্দরের মতো কিছু নতুন জায়গার ধরন দেখুন।

উপসংহার

আপনি দেখতে পাচ্ছেন, গাড়িতে ভ্রমণকারী আপনার গ্রাহকদের একটি প্রিমিয়াম পরিষেবা প্রদানের জন্য প্রয়োজনীয় উন্নয়ন প্রচেষ্টা বরং ছোট এবং আপনি আপনার গ্রাহকদের চাহিদা সম্পর্কে কীভাবে চিন্তা করছেন তা আপনি প্রদর্শন করতে পারেন।

বিকাশের উদ্দেশ্যে আপনি আপনার গ্রাহকদের জন্য পরিষেবাগুলি তৈরি করতে সহায়তা করার জন্য উপলব্ধ অনেকগুলি লাইব্রেরি এবং সরঞ্জাম ব্যবহার করতে পারেন৷ Google Maps প্ল্যাটফর্মের জন্য আমাদের সর্বজনীনভাবে উপলব্ধ GitHub সংগ্রহস্থলটি দেখুন।

পরবর্তী অ্যাকশন

GMP দিয়ে শুরু করা: https://developers.google.com/maps/get-started

আরও পড়ার পরামর্শ দিয়েছেন

Places API স্বয়ংসম্পূর্ণ (নতুন) ডকুমেন্টেশন : https://developers.google.com/maps/documentation/places/web-service/place-autocomplete

রুট API ডকুমেন্টেশন : https://developers.google.com/maps/documentation/routes

অবদানকারী

প্রধান লেখক: Mikko Toivanen | গুগল ম্যাপ প্ল্যাটফর্ম সলিউশন ইঞ্জিনিয়ার