Routes API আপনাকে একটি ট্রাফিক-সচেতন পলিলাইন বরাবর ট্রাফিক পরিস্থিতি সম্পর্কে তথ্যের অনুরোধ করতে দেয়। রেসপন্স TRAFFIC_JAM
SLOW
NORMAL
পরিপ্রেক্ষিতে ট্র্যাফিক অবস্থা প্রকাশ করা হয়। ব্যবধানগুলি তাদের প্রারম্ভিক (অন্তর্ভুক্ত) এবং শেষের (একচেটিয়া) পলিলাইন পয়েন্টগুলির সূচী দ্বারা সংজ্ঞায়িত করা হয়।
পলিলাইন সম্পর্কে আরও জানতে, দেখুন:
- প্লয়লাইনের গুণমান কনফিগার করার তথ্যের জন্য গুণমান বনাম লেটেন্সি কনফিগার করুন
- এনকোডেড পলিলাইন অ্যালগরিদম ফর্ম্যাট একটি পলিলাইন এনকোডিংয়ের জন্য অ্যালগরিদম বর্ণনা করে।
- ইন্টারেক্টিভ পলিলাইন এনকোডার ইউটিলিটি আপনাকে একটি UI-তে এনকোড করা পলিলাইন তৈরি করতে দেয় বা মানচিত্রে প্রদর্শন করতে পলিলাইন ডিকোড করতে দেয়। উদাহরণস্বরূপ, নীচের কোড দ্বারা তৈরি একটি পলিলাইন ডিকোড করতে এই ইউটিলিটিটি ব্যবহার করুন।
একটি পলিলাইন ফেরত দিন
একটি পলিলাইন পলিলাইন (REST) বা পলিলাইন ( gRPC ) বস্তু দ্বারা প্রতিনিধিত্ব করা হয়। আপনি রুট এবং লেগ উভয় স্তরেই প্রতিক্রিয়াতে একটি পলিলাইন ফেরত দিতে পারেন।
রেসপন্স ফিল্ড মাস্ক ব্যবহার করে কোন পলিলাইন ফিরতে হবে তা নিয়ন্ত্রণ করুন:
রুট লেভেলে , রেসপন্স ফিল্ড মাস্কে
routes.polyline
অন্তর্ভুক্ত করে রেসপন্সে একটি পলিলাইন ফেরত দিন।লেগ লেভেলে ,
routes.legs.polyline
অন্তর্ভুক্ত করে রুটের প্রতিটি পায়ের প্রতিক্রিয়ায় একটি পলিলাইন ফেরত দিন।
উদাহরণস্বরূপ, পুরো রুটের জন্য এবং প্রতিটি পায়ের জন্য একটি পলিলাইন ফেরত দিতে:
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline,routes.legs.polyline
পলিলাইন টাইপ কনফিগার করুন
ComputeRoutes পদ্ধতি (REST) এবং ComputeRoutes পদ্ধতি (gRPC) পলিলাইন টাইপ নিয়ন্ত্রণের জন্য polylineEncoding
এনকোডিং অনুরোধ বিকল্পকে সমর্থন করে।
polylineEncoding
এনকোডিং নির্দিষ্ট করে কিভাবে ENCODED_POLYLINE
(ডিফল্ট) হিসাবে এনকোড করতে হয়, যার অর্থ পলিলাইন এনকোডিং অ্যালগরিদম ব্যবহার করুন বা GEO_JSON_LINESTRING
, মানে GeoJSON লাইনস্ট্রিং ফর্ম্যাট ব্যবহার করুন৷
উদাহরণস্বরূপ, অনুরোধের অংশে:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "polylineQuality": "HIGH_QUALITY", "polylineEncoding": "ENCODED_POLYLINE", "departureTime": "2019-10-15T15:01:23.045123456Z", ... }
ট্রাফিক তথ্য ফেরত
টোল এবং সম্ভাব্য ট্রাফিক জোন সীমাবদ্ধতা সম্পর্কে তথ্য অন্তর্ভুক্ত করার জন্য আপনি প্রতিক্রিয়া কনফিগার করতে পারেন:
রুট স্তরে , এই তথ্যটি একটি RouteTravelAdvisory (REST) বা RouteTravelAdvisory (gRPC) অবজেক্টে অন্তর্ভুক্ত করা হয়।
লেগ লেভেলে , এই তথ্যটি একটি RouteLegTravelAdvisory (REST) বা RouteLegTravelAdvisory (gRPC) অবজেক্টে অন্তর্ভুক্ত করা হয়।
RouteTravelAdvisory এবং RouteLegTravelAdvisory উভয়ই ট্র্যাফিক গতির তথ্যের জন্য ট্র্যাফিক ঘনত্বের বিবরণের জন্য একটি অ্যারে ক্ষেত্র অন্তর্ভুক্ত করে। অ্যারের প্রতিটি বস্তু একটি SpeedReadingInterval (REST) বা SpeedReadingInterval (gRPC) অবজেক্ট দ্বারা উপস্থাপিত হয়।
একটি SpeedReadingInterval অবজেক্ট একটি রুট ব্যবধানের জন্য গতি পড়া অন্তর্ভুক্ত। অবজেক্টের সম্পূর্ণ অ্যারে ওভারল্যাপ ছাড়াই রুটের পুরো পলিলাইনকে কভার করে। একটি নির্দিষ্ট ব্যবধানের শুরু বিন্দু পূর্ববর্তী ব্যবধানের শেষ বিন্দুর সমান।
পলিলাইনের সাথে ট্র্যাফিক তথ্য ফেরত দেওয়ার পদ্ধতিটি কনফিগার করতে, প্রতিক্রিয়া ক্ষেত্র মাস্ক ব্যবহার করুন:
রুট লেভেলে , রেসপন্স ফিল্ড মাস্কে
routes.travelAdvisory
অন্তর্ভুক্ত করে প্রতিক্রিয়াতে সমস্ত ট্রাফিক তথ্য ফেরত দিন। শুধু SpeedReadingInterval ফেরাতে,routes.travelAdvisory.speedReadingIntervals
নির্দিষ্ট করুনলেগ লেভেলে ,
routes.legs.travelAdvisory.speedReadingIntervals
বাroutes.legs.steps.travelAdvisory.speedReadingIntervals
অন্তর্ভুক্ত করে রুটের প্রতিটি পায়ের প্রতিক্রিয়াতে ট্রাফিক তথ্য ফেরত দিন।
ট্র্যাফিক তথ্য ফেরত দেওয়ার সময়, আপনি সাধারণত প্রতিক্রিয়াতে পলিলাইন এবং ট্র্যাফিক তথ্য উভয়ই ফেরত দেন:
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline,routes.travelAdvisory,routes.legs.polyline,routes.legs.travelAdvisory
একটি ট্রাফিক-সচেতন পলিলাইনের জন্য উদাহরণ প্রতিক্রিয়া
প্রতিক্রিয়া হিসাবে, রুট-স্তরের ট্রাফিক routes.travelAdvisory.speedReadingIntervals
এ উপলব্ধ। লেগ-লেভেল ট্রাফিক routes.legs.travelAdvisory.speedReadingIntervals
এর অধীনে উপলব্ধ।
প্রতিটি ব্যবধান তার startPolylinePointIndex
, endPolylinePointIndex
, এবং সংশ্লিষ্ট গতি বিভাগ দ্বারা বর্ণিত হয়। লক্ষ্য করুন যে ব্যবধানের মধ্যে সূচনা সূচকের অভাব প্রোটো3 অনুশীলনের সাথে সূচক 0 এর সাথে মিলে যায়।
startPolylinePointIndex
এবং endPolylinePointIndex
মান সবসময় পরপর হয় না। উদাহরণ স্বরূপ:
{ "startPolylinePointIndex": 2, "endPolylinePointIndex": 4, "speed": "NORMAL" }
এই ক্ষেত্রে, ট্র্যাফিক পরিস্থিতি সূচক 2 থেকে সূচক 4 পর্যন্ত একই ছিল।
নীচে সম্পূর্ণ প্রতিক্রিয়া দেখানো হয়েছে:
{ "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" } ] } } ] }
মানচিত্র SDK দিয়ে ট্রাফিক সচেতন পলিলাইন রেন্ডার করুন
কাস্টম রঙ, স্ট্রোক এবং পলিলাইন স্ট্রেচ বরাবর প্যাটার্ন সহ Google মানচিত্র SDK-এর দেওয়া বিভিন্ন বৈশিষ্ট্যগুলি ব্যবহার করে আমরা মানচিত্রে ট্র্যাফিক সচেতন পলিলাইনগুলি প্রদর্শন করার সুপারিশ করি৷ পলিলাইন ব্যবহার সম্পর্কে আরও বিস্তারিত জানার জন্য, অ্যান্ড্রয়েডের জন্য পলিলাইন বৈশিষ্ট্য এবং iOS-এর জন্য পলিলাইন বৈশিষ্ট্যগুলি দেখুন৷
উদাহরণ পলিলাইন রেন্ডারিং
মানচিত্র SDK ব্যবহারকারীদের গতি বিভাগ এবং পলিলাইন রেন্ডারিং স্কিমাগুলির মধ্যে একটি কাস্টমাইজড ম্যাপিং যুক্তি সংজ্ঞায়িত করার সুযোগ রয়েছে৷ উদাহরণ স্বরূপ, কেউ ম্যাপে "সাধারণ" গতিকে একটি ঘন নীল রেখা হিসাবে প্রদর্শন করার সিদ্ধান্ত নিতে পারে যখন "ধীর" গতি একটি ঘন কমলা রেখা হিসাবে প্রদর্শিত হতে পারে, ইত্যাদি।
নিম্নলিখিত স্নিপেটগুলি মেলবোর্ন থেকে পার্থ পর্যন্ত জিওডেসিক অংশগুলির সাথে একটি ঘন নীল পলিলাইন যুক্ত করে। আরও তথ্যের জন্য, উপস্থিতি কাস্টমাইজ করা (অ্যান্ড্রয়েডের জন্য) এবং পলিলাইন কাস্টমাইজ করুন (iOS-এর জন্য) দেখুন।
অ্যান্ড্রয়েড
জাভা
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));
কোটলিন
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
উদ্দেশ্য গ
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;
সুইফট
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