폴리라인에서 교통정보 요청

Routes Preferred API는 다중선을 따라 교통상황에 대한 정보를 요청할 수 있는 기능을 제공합니다. 교통상황은 응답 다중선의 지정된 간격에 적용되는 속도 카테고리 (NORMAL, SLOW, TRAFFIC_JAM)로 표현됩니다. 간격은 시작 (포함) 및 종료(제외) 다중선 점의 색인으로 정의됩니다.

요청 예

교통 인식 다중선은 경로 수준과 구간 수준에서 모두 사용할 수 있습니다. 경로 수준에서는 교통 속도 정보가 RouteTravelAdvisory 응답 필드 아래에 SpeedReadingIntervals로 제공됩니다. 경로의 다중선과 함께 교통정보를 수신하려면 응답 필드 마스크에 polylinespeedReadingIntervals를 모두 포함하세요.

필드 마스크에 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