পলিলাইনে ট্রাফিক সংক্রান্ত তথ্যের জন্য অনুরোধ করুন

Routes Preferred API, পলিলাইন বরাবর ট্রাফিক পরিস্থিতি সম্পর্কে তথ্য অনুরোধ করার সম্ভাবনা অফার করে। ট্রাফিক পরিস্থিতি গতির বিভাগ (স্বাভাবিক, ধীর, ট্রাফিক_জ্যাম) হিসেবে প্রকাশ করা হয় যা রেসপন্স পলিলাইনের নির্দিষ্ট ব্যবধানে প্রযোজ্য। ইন্টারভালগুলি তাদের শুরু (ইনক্লুসিভ) এবং শেষ (এক্সক্লুসিভ) পলিলাইন পয়েন্টের ইনডেক্স দ্বারা সংজ্ঞায়িত করা হয়।

অনুরোধের উদাহরণ

রুট লেভেল ও লেগ লেভেল, দুটির জন্যই ট্রাফিক-অ্যাওয়ার পলিলাইন উপলভ্য। রুট লেভেলে, ট্রাফিক স্পিড সংক্রান্ত তথ্য RouteTravelAdvisory রেসপন্স ফিল্ডের অধীনে SpeedReadingIntervals হিসেবে প্রদান করা হয়। রুটের পলিলাইনের পাশাপাশি ট্রাফিক সংক্রান্ত তথ্য পেতে, রেসপন্স ফিল্ড মাস্কে polyline এবং speedReadingIntervals দুটিই অন্তর্ভুক্ত করুন।

ফিল্ড মাস্কে routes.legs.travelAdvisory.speedReadingIntervals থাকলে, উত্তরে RouteLegTravelAdvisory-এর অধীনে লেগ লেভেল ট্রাফিক ডেটা থাকবে।

X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline,routes.travelAdvisory.speedReadingIntervals,routes.legs.polyline.encodedPolyline,routes.legs.travelAdvisory.speedReadingIntervals

রেসপন্স ফিল্ডমাস্ক নির্দিষ্ট করার ব্যাপারে অতিরিক্ত বিবরণের জন্য "ফেরত পাওয়ার জন্য ফিল্ড বেছে নিন" দেখুন।

উদাহরণস্বরূপ উত্তর

যতক্ষণ পর্যন্ত ফিল্ড মাস্কের মাধ্যমে speedReadingIntervals-এর জন্য অনুরোধ করা হয়, ততক্ষণ পর্যন্ত সেগুলি routes.travelAdvisory.speedReadingIntervals-এর অধীনে পপুলেট করা হয়। লেগ লেভেল ট্রাফিক routes.legs.travelAdvisory.speedReadingIntervals-এর অধীনে উপলভ্য। প্রতিটি ইন্টারভ্যাল তার startPolylinePointIndex, endPolylinePointIndex এবং সংশ্লিষ্ট স্পিড ক্যাটেগরি দ্বারা বর্ণনা করা হয়। মনে রাখবেন যে ইন্টারভ্যালের মধ্যে শুরুর ইন্ডেক্স না থাকলে proto3 প্র্যাক্টিস অনুযায়ী ইন্ডেক্স ০ হিসেবে ধরা হয়।

{
  "routes": [
    {
      "legs": {
        "polyline": {
          "encodedPolyline": "}boeF~zbjVAg@EmB`GWHlD"
        },
        "travelAdvisory": {
          "speedReadingIntervals": [
            {
              "endPolylinePointIndex": 1,
              "speed": "NORMAL"
            },
            {
              "startPolylinePointIndex": 1,
              "endPolylinePointIndex": 2,
              "speed": "SLOW"
            },
            {
              "startPolylinePointIndex": 2,
              "endPolylinePointIndex": 4,
              "speed": "NORMAL"
            }
          ] 
        }
      },
      "polyline": {
        "encodedPolyline": "}boeF~zbjVAg@EmB`GWHlD"
      },
      "travelAdvisory": {
        "speedReadingIntervals": [
          {
            "endPolylinePointIndex": 1,
            "speed": "NORMAL"
          },
          {
            "startPolylinePointIndex": 1,
            "endPolylinePointIndex": 2,
            "speed": "SLOW"
          },
          {
            "startPolylinePointIndex": 2,
            "endPolylinePointIndex": 4,
            "speed": "NORMAL"
          }
        ] 
      }
    }
  ]
}

Maps SDK-এর মাধ্যমে ট্রাফিক-অ্যাওয়ার পলিলাইন রেন্ডার করা

আমরা সাজেস্ট করি যে আপনি যেন Google Maps SDK-এর মাধ্যমে অফার করা বিভিন্ন ফিচার ব্যবহার করে ম্যাপে ট্রাফিক-অ্যাওয়ার পলিলাইন দেখান। এর মধ্যে কাস্টম কালারিং, স্ট্রোক এবং পলিলাইন স্ট্রেচ সহ প্যাটার্ন অন্তর্ভুক্ত। পলিলাইন ব্যবহার করার ব্যাপারে আরও জানতে, Android-এর জন্য পলিলাইন ফিচার এবং iOS-এর জন্য পলিলাইন ফিচার দেখুন।

পলিলাইন রেন্ডারিংয়ের উদাহরণ

Maps SDK-এর ব্যবহারকারীরা স্পিড ক্যাটেগরি এবং পলিলাইন রেন্ডারিং স্কিমার মধ্যে একটি কাস্টমাইজড ম্যাপিং লজিক সংজ্ঞায়িত করার সুযোগ পান। যেমন, কেউ ম্যাপে "স্বাভাবিক" গতিকে একটি মোটা নীল লাইন হিসেবে দেখানোর সিদ্ধান্ত নিতে পারেন, যেখানে "ধীর" গতিকে একটি মোটা কমলা লাইন হিসেবে দেখানো হতে পারে, ইত্যাদি।

নিম্নলিখিত স্নিপেট মেলবোর্ন থেকে পার্থ পর্যন্ত জিওডেসিক সেগমেন্ট সহ একটি মোটা নীল পলিলাইন যোগ করে। আরও তথ্যের জন্য, অ্যাপিয়ারেন্স কাস্টমাইজ করা (Android-এর জন্য) এবং পলিলাইন কাস্টমাইজ করা (iOS-এর জন্য) দেখুন।

Android

Java

Polyline line = map.addPolyline(new PolylineOptions()
    .add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734))
    .width(25)
    .color(Color.BLUE)
    .geodesic(true));

Kotlin

val line: Polyline = map.addPolyline(
  PolylineOptions()
    .add(LatLng(-37.81319, 144.96298), LatLng(-31.95285, 115.85734))
    .width(25f)
    .color(Color.BLUE)
    .geodesic(true)
)

iOS

Objective-C

GMSMutablePath *path = [GMSMutablePath path];
[path addLatitude:-37.81319 longitude:144.96298];
[path addLatitude:-31.95285 longitude:115.85734];
GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.strokeWidth = 10.f;
polyline.strokeColor = .blue;
polyline.geodesic = YES;
polyline.map = mapView;

Swift

let path = GMSMutablePath()
path.addLatitude(-37.81319, longitude: 144.96298)
path.addLatitude(-31.95285, longitude: 115.85734)
let polyline = GMSPolyline(path: path)
polyline.strokeWidth = 10.0
polyline.geodesic = true
polyline.map = mapView