속도 제한

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Roads API은 지정된 도로 구간에 명시된 속도 제한을 반환합니다. 가변 속도 제한이 있는 도로 구간의 경우 구간의 기본 속도 제한이 반환됩니다.

Roads API에서 반환하는 속도 제한 데이터의 정확성은 보장되지 않습니다. 제공된 속도 제한 데이터는 실시간이 아니며 추정되거나, 부정확하거나, 불완전하거나, 오래되었을 수 있습니다. 속도 제한 데이터를 사용할 수 있는 리전은 범위 세부정보를 참조하세요.

요청

속도 제한 요청은 HTTPS를 통해 전송되어야 하며

https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
형식을 따라야 합니다.

매개변수 사용

필수 매개변수

  • path 또는 placeId 매개변수입니다.
    • path - 경로를 나타내는 최대 100개의 위도/경도 쌍 목록 위도와 경도 값은 쉼표로 구분해야 합니다. 위도/경도 쌍은 파이프 문자 '|'로 구분되어야 합니다. path 매개변수를 제공하면 API에서 snapToRoads 요청과 마찬가지로 차량이 이동할 가능성이 가장 높은 도로의 경로를 먼저 스냅한 후 관련 도로 구간의 속도 제한을 결정합니다. API가 경로를 스냅하지 않게 하려면 아래 설명처럼 placeId 매개변수를 전달해야 합니다. 다음 예에서는 3개의 위도/경도 쌍이 있는 path 매개변수를 보여줍니다. path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
    • placeId: 하나 이상의 도로 구간을 나타내는 장소 ID입니다. 각 장소 ID는 다른 유형의 장소가 아닌 도로 구간을 참조해야 합니다. 각 요청에 최대 100개의 장소 ID를 전달할 수 있습니다. API는 제공된 장소 ID에 도로 맞추기를 실행하지 않습니다. 응답에는 요청의 각 장소 ID에 대한 속도 제한이 포함됩니다. snapToRoads 또는 nearestRoads 요청을 보내 관련 장소 ID를 찾은 다음 speedLimits 요청에 입력으로 제공할 수 있습니다. 다음 예는 장소 ID가 두 개인 placeId 매개변수를 보여줍니다. placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key — 애플리케이션의 API 키입니다. 애플리케이션은 각 요청에 API 키를 포함하여 Roads API에 요청을 전송할 때마다 자신을 식별해야 합니다. 키 가져오기 방법을 알아보세요.

선택적 매개변수

  • units - 속도 제한을 시간당 킬로미터 또는 마일로 반환할지 여부입니다. KPH 또는 MPH로 설정할 수 있습니다. 기본값은 KPH입니다.

응답

speedLimits 응답에 다음 요소가 있을 수 있습니다.

  • speedLimits - 도로 메타데이터의 배열입니다. 각 요소는 다음 필드로 구성됩니다.
    • placeId: 장소의 고유 식별자입니다. Roads API에서 반환하는 모든 장소 ID는 도로 구간에 해당합니다.
    • speedLimit - 도로 구간의 제한 속도입니다.
    • units - KPH 또는 MPH를 반환합니다.
  • snappedPoints: 스냅된 지점의 배열입니다. 이 배열은 요청에 path 매개변수가 포함된 경우에만 존재합니다. 각 포인트는 다음 필드로 구성됩니다.
    • locationlatitudelongitude 값을 포함합니다.
    • originalIndex - 원래 요청의 해당 값을 나타내는 정수입니다. 요청의 각 값은 응답의 잘린 값에 매핑되어야 합니다. 이러한 값은 0에서 색인이 생성되므로 originalIndex4인 점은 path 매개변수에 전달된 다섯 번째 위도/경도의 스냅된 값입니다.
    • placeId: 장소의 고유 식별자입니다. Roads API에서 반환하는 모든 장소 ID는 도로 구간에 해당합니다. placeId를 속도 제한 요청에서 전달하여 도로 구간을 따라 속도 제한을 결정할 수 있습니다.
  • warning_message - 사용자에게 표시되는 경고가 포함된 문자열입니다.

경로를 사용하는 요청의 예

이 요청은 포르투갈 리스본의 바스코 다 가마 다리를 지나는 경로에서 지정된 위도/경도 쌍에 가장 가까운 각 도로 구간에 대한 속도 제한을 가져옵니다.

요청

https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY

응답

{
  speedLimits:
  [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ],
  snappedPoints:
  [
    {
      location:
      {
        latitude: 38.75807927603043,
        longitude: -9.037417546438084
      },
      originalIndex: 0,
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE"
    },
    {
      location:
      {
        latitude: 38.689653701836896,
        longitude: -9.177051486847693
      },
      originalIndex: 1,
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU"
    },
    {
      location:
      {
        latitude: 41.13993011767777,
        longitude: -8.609400794783655
      },
      originalIndex: 2,
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M"
    }
  ],
  warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation."
}

위의 응답에서 포인트 희소성에 대한 경고 메시지를 참고하세요. 임의의 지점에서 가장 가까운 도로 구간의 속도 제한을 요청하려면 nearestRoads 엔드포인트에서 가져온 장소 ID로 speedLimits를 호출해야 합니다.

장소 ID를 사용하는 요청의 예

위도/경도 쌍을 사용하는 대신 도로 구간의 장소 ID를 전달할 수 있습니다. snapToRoads 또는 nearestRoads 요청을 사용하여 도로 구간의 장소 ID를 가져오는 것이 좋습니다. 장소 ID를 전달하면 API가 각 장소 ID로 표시되는 도로 구간의 속도 제한을 반환합니다. API는 제공된 장소 ID에 도로 맞추기를 적용하지 않습니다.

다음 예시에서는 포르투갈 리스본의 바스코 다 가마 다리를 가로지르는 일부 도로 구간의 속도 제한을 요청합니다.

요청

https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY

응답

{
  "speedLimits": [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ]
}

사용 권장사항

속도 제한 서비스에 대한 호출 수를 최소화하려면 애셋의 위치를 5~15분 간격으로 샘플링하는 것이 좋습니다. 정확한 값은 애셋이 이동하는 속도에 따라 달라집니다. 애셋이 움직이지 않으면 단일 위치 샘플로 충분합니다 (여러 번 호출할 필요가 없음).

전체 지연 시간을 최소화하려면 모바일 애셋의 위치가 수신될 때마다 API를 호출하는 대신 일부 데이터가 누적되면 속도 제한 서비스를 호출하는 것이 좋습니다.

일부/모든 속도 제한이 누락된 이유는 무엇인가요?

speedLimits 누락의 가장 일반적인 원인은 도로 구간이 아닌 장소의 속도 제한을 요청하는 것입니다.

위의 예에서는 바스코 다 가마 다리를 사용하여 개념을 설명합니다. 이 다리는 리오 테호를 가로지르는 E90 도로를 지원합니다. 브리지 자체에는 장소 ID가 ChIJUzt97ZEwGQ0RM1JzQfqoDtU입니다. 위 응답의 첫 번째 도로 구간은 E90 도로의 일부이며 장소 ID가 ChiIJX12duJAwGQ0Ra0d4Oi4jOGE입니다. 요청 예시에서 도로 장소 ID를 다리의 장소 ID로 바꾸면 다리의 장소 ID가 개별 도로 구간을 참조하지 않으므로 응답에 speedLimits 배열에 속도 제한이 두 개만 있습니다. 또한 도로 구간에 적합한 장소 ID가 없는 경우 응답에 속도 제한이 포함되지 않습니다.

장소 ID를 사용하여 속도 제한 요청을 할 때 각 장소 ID는 다른 유형의 장소가 아닌 도로 구간을 참조해야 합니다. 개별 도로 구간의 장소 ID는 snapToRoads 또는 nearestRoads 요청을 사용하여 가져오는 것이 좋으며, 둘 중 하나의 호출에서 여러 장소 ID를 반환할 수 있습니다.