Routes Preferred API는 다중선을 따라 교통상황에 대한 정보를 요청할 수 있는 기능을 제공합니다. 교통상황은 응답 다중선의 지정된 간격에 적용되는 속도 카테고리 (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 사용자는 속도 카테고리와 다중선 렌더링 스키마 간에 맞춤설정된 매핑 로직을 정의할 수 있습니다. 예를 들어, 지도에 '일반' 속도는 굵은 파란색 선으로 표시하고 '느림' 속도는 굵은 주황색 선으로 표시할 수 있습니다.
다음 스니펫은 멜버른에서 퍼스까지의 최단 거리 선분을 사용하여 굵은 파란색 다중선을 추가합니다. 자세한 내용은 모양 맞춤설정 (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