ה-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
אנחנו ממליצים להציג במפה קווים פוליגוניים המודעים לתנועה באמצעות התכונות השונות שמוצעות על ידי ערכות ה-SDK של מפות Google, כולל צביעה בהתאמה אישית, קווים ותבניות לאורך הקווים הפוליגוניים. למידע נוסף על השימוש בקווים פוליגוניים, אפשר לקרוא את המאמרים תכונות של פוליגונים ל-Android ותכונות של פוליגונים ל-iOS.
דוגמה לעיבוד קווים פוליגוניים
למשתמשים ב-SDK של מפות Google יש הזדמנות להגדיר לוגיקת מיפוי מותאמת אישית בין קטגוריות המהירות לבין סכימות העיבוד הפוליגוניות. לדוגמה, אפשר להציג מהירות "NORMAL" כקו כחול עבה במפה, בעוד שהמהירות "SLOW" עשויה להופיע כקו כתום עבה וכן הלאה.
קטעי הקוד הבאים מוסיפים קו פוליגוני כחול ועבה עם קטעים גיאודזיים מלבורן עד פרת'. מידע נוסף זמין בהתאמה אישית של המראה (ל-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