באמצעות Routes Preferred API אפשר לבקש מידע על תנאי התנועה לאורך קו הפוליגון. תנאי התנועה באים לידי ביטוי מבחינת קטגוריות המהירות (NORMAL, SLOW, TRAFFIC_JAM) החלות על פרק זמן נתון של הקו הפוליגוני של התגובה. המרווחים מוגדרים על ידי האינדקסים של נקודות ההתחלה (כולל) וסיום הפוליגון (הבלעדי) שלהם.
דוגמה לבקשה
קו פוליגוני שמודע לתנועה זמין גם ברמת המסלול וגם ברמת הרגל.
ברמת המסלול, המידע על מהירות התנועה מגיע כ-SpeedReadingIntervals
בשדה התגובה של RouteTravelAdvisory.
כדי לקבל מידע על מצב התנועה לצד קו הפוליגון של המסלול, צריך לכלול את 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
שלו וקטגוריית המהירות המתאימה.
שימו לב שהיעדר של אינדקס התחלה בתוך מרווח הזמן תואם לאינדקס 0 בהתאם לשיטות של 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" } ] } } ] }
עיבוד פוליגונים עם התחשבות בתנועה באמצעות SDK של מפות
מומלץ להציג במפה קווים פוליגונים עם התראות על עומסי תנועה באמצעות התכונות השונות שמוצעות ב-Google Maps SDK, כולל צביעה בהתאמה אישית, קווים ודפוסים לאורך הקווים הפוליגונים. מידע נוסף על שימוש בקוים פוליגונים זמין במאמרים תכונות של קווים פוליגונים ל-Android ותכונות של קווים פוליגונים ל-iOS.
דוגמה לעיבוד של קו פוליגוני
למשתמשים ב-SDK של מפות Google יש הזדמנות להגדיר לוגיקת מיפוי מותאמת אישית בין קטגוריות המהירות לסכימות העיבוד של קווים פוליגוניים. לדוגמה, אפשר להציג מהירות 'רגילה' כקו כחול עבה במפה, מהירות 'איטית' כקו כתום עבה וכן הלאה.
קטעי הקוד הבאים מוסיפים קו פוליגוני כחול ועבה עם פלחים גיאודזיים ממלבורן עד פרת'. מידע נוסף זמין במאמרים התאמה אישית של תצוגות (ל-Android) והתאמה אישית של קו ה-Polyline (ל-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