문제 해결

오류

오류의 경우, 표준 형식의 오류 응답 본문이 반환되고 HTTP 상태 코드가 오류 상태로 설정됩니다.

응답에는 단일 error 객체가 있는 객체가 다음 키와 함께 포함됩니다.

  • code: 응답의 HTTP 상태와 동일합니다.
  • message: 오류에 대한 간단한 설명입니다.
  • status: 오류의 특징을 나타내는 상태 코드입니다.

예를 들어 잘못된 placeId 매개변수를 전송하면 다음과 같은 오류가 반환됩니다.

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

가능한 오류는 다음과 같습니다.

코드 상태 메시지 문제 해결
400 INVALID_ARGUMENT 제공한 키가 잘못되었습니다. API 키가 올바르지 않거나 요청에 포함되지 않았습니다. 전체 키가 포함되었는지 확인하고, 이 키에 대해 API를 활성화했는지 확인하세요.
400 INVALID_ARGUMENT \'\"path\" 매개변수에 잘못된 값이 포함되었습니다. ☃\' 요청에 잘못된 인수가 포함되었습니다. 이 오류의 가장 가능한 원인은 다음과 같습니다.
  • path 매개변수에 문제가 있습니다.
    최소 1개 이상의 지점과 100개 미만의 지점이 있는지 확인하세요. 각 지점은 쉼표로 구분된 숫자 쌍이어야 합니다. 예: 48.409114,-123.369158. 지점은 파이프 기호 '|'로 구분되어야 합니다.
  • 요청에 잘못된 placeId가 포함되었습니다.
  • 요청에 placeIdpath가 모두 포함되었습니다. 이들 매개변수 중 하나만 각 요청에 지정될 수 있습니다.

더 이상 존재하지 않는 도로나 도로가 아닌 장소에 대해 placeId가 전달된 경우에는 이 오류가 반환되지 않습니다.

403 PERMISSION_DENIED 등록되지 않은 요청이 차단되었습니다. Google Developers Console을 사용하여 등록하세요. 다음 중 하나 이상의 이유로 요청이 거부되었습니다.
  • API 키가 누락되었거나 잘못되었습니다.
  • 계정에 결제가 사용 설정되지 않았습니다.
  • 자체 적용되는 사용량 한도를 초과했습니다.
  • 제공된 결제 수단이 더 이상 유효하지 않습니다 (예: 신용카드가 만료됨).

Google Maps Platform 제품을 사용하려면 계정에서 결제를 사용 설정해야 하고 모든 요청에 유효한 API 키를 포함해야 합니다. 이 문제를 해결하려면 다음 단계를 따르세요.

404 NOT_FOUND 이 서비스에는 HTTPS가 필요합니다. http://roads.googleapis.com/이 아닌 https://roads.googleapis.com/에 요청을 전송해야 합니다.
429 RESOURCE_EXHAUSTED 프로젝트 요청 한도에 도달하여 요청이 제한되었습니다. Google Cloud Platform Console에서 구성한 요청 한도를 초과했습니다. 이 제한은 일반적으로 일일 요청 수, 100초당 요청 수, 사용자별 100초당 요청 수로 설정됩니다. 단일 사용자 또는 소규모 사용자 그룹이 귀하의 일일 할당량을 소진하지 못하게 하는 동시에, 모든 사용자에게 적절한 액세스를 허용하려면 이 제한을 구성해야 합니다. 이러한 제한을 구성하려면 API 사용량 상한 설정을 참고하세요.

지수 백오프

요청이 실패하면 지수 백오프를 사용하여 재시도 요청을 수행해야 합니다. 예를 들어 요청이 한 번 실패하면 1초 후에 재시도하고 다시 실패하면 2초 후에 재시도하고, 그 다음은 4초 후에 재시도하는 식으로 재시도를 수행합니다. 이렇게 하면, 많은 클라이언트가 매우 빠르게 요청을 재시도할 때, 잘못된 요청이나 대규모 실패로 인해 Google 서버가 느려지는 것을 막을 수 있습니다.

문제 해결 FAQ

구현 문제

차량 위치를 샘플링하는 빈도는 어떻게 해야 하나요?
고품질 도로 맞춤 결과를 얻으려면 1~10초마다 업데이트하는 것이 좋습니다.
쿼리당 전송할 수 있는 포인트 수에 제한이 있나요?
예, 쿼리에는 최대 100개의 지점이 포함될 수 있습니다.
스냅된 위도/경도 쌍을 저장하려면 어느 정도의 정밀도를 사용해야 하나요?
최대 확대/축소 수준에서도 모든 확대/축소 수준에서 경로가 도로를 따라가도록 하려면 스냅된 위도/경도 쌍을 소수점 7자리까지 저장해야 합니다.
인코딩된 폴리라인을 사용하여 스냅된 경로를 표시할 수 있나요?
인코딩된 다중선은 소수점 이하 5자리까지만 지정되므로 약 2미터의 오류가 발생합니다. 따라서 인코딩된 폴리라인은 확대/축소 수준이 높은 경우 경로가 도로를 따라가도록 스냅하려는 경우 적합하지 않습니다.

일반적인 문제

일부 포인트가 스냅되지 않거나 스냅된 경로에 간격이 있습니다. 이 문제를 해결하려면 어떻게 해야 하나요?
  • 시간 간격으로 점을 샘플링하는 경우 더 짧은 간격 (1~10초마다)으로 점이 샘플링되는지 확인합니다. 더 긴 간격(예: 60초)을 사용하면 도로에 맞추기 알고리즘이 이동한 도로를 충분히 정확하게 결정하지 못할 수 있습니다.
  • 지도에서 수동으로 지점을 클릭하여 지점을 만드는 경우 스냅 알고리즘이 잘 처리하지 못하는 지점이 적은 경로나 드문드문 지점이 있는 경로를 매우 쉽게 만들 수 있습니다. 스냅 알고리즘은 지점들이 서로 가까운 경우에 가장 잘 작동합니다. 도로에 맞추기 데모를 사용해 보거나 도로 검사기를 사용하여 경로를 테스트하세요.
확대할 때 스냅된 경로가 들쭉날쭉하거나 도로에서 약간 벗어나는 이유는 무엇인가요?
  • 스냅된 위도/경도 쌍을 표시하기 전에 정밀도를 자르시나요? 소수점 이하 7자리 미만의 정밀도로 스냅된 위도/경도 쌍을 저장하면 스냅된 경로가 지도에 표시될 때 정밀도 오류가 발생합니다.
  • 인코딩된 폴리라인을 사용하고 있나요? 인코딩된 폴리라인은 위도/경도 쌍을 소수점 5자리로 자르므로 몇 미터의 오류가 발생하여 확대/축소 수준이 높을 때 도로에서 약간 벗어나거나 들쭉날쭉한 선이 표시됩니다.

위의 두 경우 모두 해당하지 않으면 지도 타일이 최근에 업데이트되어 스냅에 사용된 도로 색인과 동기화되지 않았을 수 있습니다. 검색어 중 일부만 영향을 받는 경우 이 문제가 원인일 가능성이 높습니다. Google 지도는 정기적으로 업데이트되므로 이러한 현상은 가끔 발생할 수 있으며, 지도에서 이전 경로 (예: 몇 주 전에 스냅한 경로)를 정기적으로 확인하는 경우 더 자주 발생할 수 있습니다. 최적의 시각화를 위해 지도에 표시하기 직전에 이전 경로를 다시 스냅해야 합니다. 이렇게 하면 지도 타일과 스냅에 사용되는 도로 색인 간의 불일치를 최소화할 수 있습니다.

도로 X의 제한 속도가 잘못 표시되는 이유는 무엇인가요?
속도 제한은 정확도와 적용 범위가 다양한 여러 출처에서 가져옵니다. 특정 도로 유형 또는 특정 지역의 속도 제한이 지속적으로 잘못된 등의 패턴을 발견하면 다음 단계에 따라 Google에 알려주세요.
  1. 데스크톱 컴퓨터에서 Google 지도 또는 Android용 Google 지도 앱을 엽니다.
  2. 왼쪽 메뉴를 엽니다.
  3. 의견 보내기를 선택합니다. 참고: 로그인하라는 메시지가 표시될 수 있습니다.
  4. 지도 수정을 선택합니다.
  5. 수정할 도로 구간을 선택합니다.
  6. 다음을 선택합니다.
  7. '기타' 입력란에 해당 도로의 속도 제한이 잘못되었다고 표시합니다.
  8. 제출을 선택합니다.
여기에서 다른 문제를 신고할 수도 있습니다 (예: 도로 이름이 잘못되었거나, 잘못 그려졌거나, 폐쇄되었거나, 사유지인 경우).
도로를 따라가지 않고 모서리를 자르는 경로가 표시되는 이유는 무엇인가요?
이 문제를 해결하려면 다음을 확인하세요.
  • interpolate 매개변수가 true로 설정되어 있는지 확인합니다.
  • 원본 데이터 포인트가 충분히 짧은 간격(1~10초마다)으로 샘플링되는지 확인합니다.
속도 제한 변경사항이 없는 도로의 스냅된 경로에 많은 도로 구간이 반환되는 이유는 무엇인가요?
interpolate 매개변수가 true로 설정되면 도로에 맞추기 쿼리는 모퉁이, 커브, 원형 교차로를 따라 도로를 따라가는 다중선이 반환됩니다. 도로가 굴곡된 경우 도로 도형을 밀접하게 따르는 다중 도로 구간이 반환되므로 속도 제한이 변경되지 않더라도 여러 도로 구간이 반환됩니다.