पॉलीलाइन पर ट्रैफ़िक की जानकारी का अनुरोध करें

रूट पसंदीदा एपीआई, पॉलीलाइन के साथ-साथ ट्रैफ़िक की स्थितियों के बारे में जानकारी का अनुरोध करने की सुविधा देता है. ट्रैफ़िक की स्थितियों को रिस्पॉन्स पॉलीलाइन के दिए गए इंटरवल पर लागू होने वाली स्पीड की कैटगरी (NORMAL, Slow, TRAFFIC_JAM) के रूप में दी जाती है. इंटरवल, उनके शुरुआती (शामिल) और आखिरी (खास) पॉलीलाइन पॉइंट के इंडेक्स से तय होते हैं.

अनुरोध का उदाहरण

ट्रैफ़िक की जानकारी देने वाली पॉलीलाइन, रूट लेवल और लेग, दोनों लेवल के लिए उपलब्ध है. रास्ते के लेवल पर, ट्रैफ़िक की स्पीड की जानकारी 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 तरीकों के हिसाब से इंडेक्स 0 होता है.

{
  "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 टूल इस्तेमाल करने वाले लोग, स्पीड कैटगरी और पॉलीलाइन रेंडरिंग स्कीमा के बीच, पसंद के मुताबिक मैपिंग लॉजिक तय कर सकते हैं. उदाहरण के लिए, कोई व्यक्ति मैप पर "NORMAL" स्पीड को मोटी नीली लाइन के रूप में दिखाने का विकल्प चुन सकता है, जबकि "धीमी" स्पीड को मोटी नारंगी लाइन के रूप में दिखा सकता है. इसी तरह, कुछ इसी तरह.

नीचे दिए गए स्निपेट में, मेलबर्न से पर्थ तक के जियोडेसिक सेगमेंट के साथ मोटी नीली पॉलीलाइन जोड़ी गई है. ज़्यादा जानकारी के लिए, 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