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
자바
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