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

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

자바

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