경로 매트릭스의 위치 지정

유럽 경제 지역 (EEA) 개발자

경로 매트릭스를 계산하려면 최소한 하나의 경로 출발지와 하나의 경로 목적지의 위치를 지정해야 합니다.

경로의 위치 지정

Waypoint (REST) 또는 Waypoint (gRPC) 객체를 만들어 위치를 나타냅니다. 경유지 정의에서 다음 방법 중 하나로 위치를 지정할 수 있습니다.

요청의 모든 경유지에 동일한 방식으로 위치를 지정하거나 혼합할 수 있습니다. 예를 들어 출발지 경유지에 위도/경도 좌표를 사용하고 목적지 경유지에 장소 ID를 사용할 수 있습니다.

효율성과 정확성을 위해 위도/경도 좌표 또는 주소 문자열 대신 장소 ID를 사용하세요. 장소 ID는 고유하게 명시적이며 액세스 포인트 및 교통량 변수와 같은 라우팅에 지오코딩 이점을 제공합니다. 장소 ID를 사용하면 위치를 지정하는 다른 방법으로 인해 발생할 수 있는 다음 상황을 방지할 수 있습니다.

  • 위도/경도 좌표를 사용하면 위치가 해당 좌표에 가장 가까운 도로에 스냅될 수 있습니다. 이 도로는 속성의 액세스 포인트가 아니거나 목적지로 빠르고 안전하게 이어지는 도로가 아닐 수 있습니다.
  • 경로를 계산하기 전에 먼저 경로 API에서 주소 문자열을 지오코딩하여 위도/경도 좌표로 변환해야 합니다. 이 변환은 성능에 영향을 미칠 수 있습니다.

장소 ID로 위치 지정

장소 ID를 사용하여 경유지의 위치를 지정할 수 있습니다. 위도 및 경도 좌표는 도로에 스냅되므로 경우에 따라 장소 ID가 더 나은 결과를 제공할 수 있습니다.

Geocoding APIPlaces API (Place Autocomplete 포함)에서 장소 ID를 가져옵니다. 장소 ID에 관한 자세한 내용은 장소 ID 개요를 참고하세요.

다음 예에서는 placeId 속성을 사용하여 origindestination 모두에 장소 ID를 전달합니다.

{
  "origin":{
    "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o"
  },
  "destination":{
    "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU"
  },
  ...
}

위도 및 경도 좌표로 위치 지정

경유지에서 위치를 정의하려면 위치 (REST) 또는 위치(gRPC)를 위도/경도 좌표를 사용하여 지정합니다.

예를 들어 latitudelongitude 좌표를 사용하여 경로 origindestination의 경유지를 지정합니다.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
...
}

주소 문자열로 위치 지정

주소 문자열은 문자열 (예: '1600 Amphitheatre Parkway, Mountain View, CA')로 표시되는 리터럴 주소입니다. 지오코딩은 주소 문자열을 위도 및 경도 좌표 (예: 위도 37.423021 및 경도 -122.083739)로 변환하는 과정입니다.

주소 문자열을 경유지의 위치로 전달하면 경로 API가 내부적으로 문자열을 지오코딩하여 위도 및 경도 좌표로 변환합니다.

예를 들어 경로를 계산하려면 주소 문자열을 사용하여 경로 origindestination의 경유지를 지정합니다.

{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "450 Serra Mall, Stanford, CA 94305, USA"
  },
  ...
}

이 예에서 경로 API는 두 주소를 모두 지오코딩하여 위도 및 경도 좌표로 변환합니다.

주소 값이 모호한 경우 경로 API는 검색을 호출하여 유사한 주소와 구분할 수 있습니다. 예를 들어 '1st Street'는 '1st street NE' 또는 '1st St SE'의 전체 값 또는 일부 값일 수 있습니다. 이 결과는 Geocoding API에서 반환된 결과와 다를 수 있습니다. 장소 ID를 사용하면 오해의 소지를 방지할 수 있습니다.

주소의 리전 설정

불완전한 주소 문자열을 경유지의 위치로 전달하면 API가 잘못된 지오코딩된 위도/경도 좌표를 사용할 수 있습니다. 예를 들어 운전 경로의 출발지로 'Toledo'를 지정하고 목적지로 'Madrid'를 지정하는 요청을 합니다.

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE"
}

이 예에서 'Toledo'는 스페인이 아닌 미국의 오하이오주의 도시로 해석됩니다. 따라서 요청은 빈 배열을 반환합니다. 즉, 경로가 없습니다.

{
  []
}

regionCode 매개변수를 포함하여 특정 리전에 편중된 결과를 반환하도록 API를 구성할 수 있습니다. 이 매개변수는 지역 코드를 ccTLD('최상위 도메인') 2자리 값으로 지정합니다. 대부분의 ccTLD 코드는 ISO 3166-1 코드와 동일하지만 일부 주목할 만한 예외가 있습니다. 예를 들어 영국의 ccTLD는 'uk'(.co.uk)이지만 ISO 3166-1 코드는 'gb'(엄밀히 말하면 '영국'의 항목)입니다.

regionCode 매개변수가 포함된 'Toledo'에서 'Madrid'로의 경로 요청은 'Toledo'가 스페인의 도시로 해석되므로 적절한 결과를 반환합니다.

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE",
  "regionCode": "es"
}

이제 응답에 스페인 똘레도에서 스페인 마드리드로 계산된 경로가 포함됩니다.

{
  "routes": [
    {
      "distanceMeters": 75330,
      "duration": "4137s",
      ...
    }
  ]
}

탐색 지점 토큰은 위치와 추가 경로 컨텍스트를 인코딩하는 문자열입니다. 탐색 지점 토큰은 입구, 하역장 또는 지정된 승차 구역 근처의 특정 액세스 포인트로 정확한 라우팅을 제공할 수 있습니다. 승차 또는 하차 지점이 모호할 수 있는 음식 배달 또는 차량 공유와 같은 경우에 유용합니다.

Geocoding API의 Destinations 메서드를 호출하여 탐색 지점 토큰을 가져올 수 있습니다.

탐색 지점 토큰을 지정하려면 다음 단계를 따르세요.

  1. Geocoding API의 SearchDestinations 메서드에서 navigationPointToken을 가져옵니다. 자세한 내용은 Geocoding API 문서를 참고하세요.
  2. navigationPointToken을 전달하여 경유지를 만듭니다.

다음 예에서는 navigation_point_token 속성을 사용하여 origindestination 모두에 탐색 지점 토큰을 전달합니다.

{
  "origin":{
    "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_ORIGIN"
  },
  "destination":{
    "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_DESTINATION"
  },
  ...
}

플러스 코드로 위치 지정

많은 사람들에게 정확한 주소가 없으므로 배송을 받기가 어려울 수 있습니다. 또는 주소가 있는 사용자는 뒷문이나 하역장과 같은 더 구체적인 위치에서 배송을 받는 것을 선호할 수 있습니다.

플러스 코드는 실제 주소가 없는 사람이나 장소의 상세 주소와 같습니다. 플러스 코드는 거리 이름과 번호가 있는 주소 대신 위도/경도 좌표를 기반으로 하며 숫자와 문자로 표시됩니다.

Google은 모든 사람과 모든 것에 주소의 이점을 제공하기 위해 플러스 코드 를 개발했습니다. 플러스 코드는 위도/경도 좌표에서 파생된 인코딩된 위치 참조로 1/8000도x1/8000도 (적도에서 14mx14m) 이하의 영역을 나타냅니다. 플러스 코드는 상세 주소가 없는 장소나 건물에 번호가 지정되지 않거나 거리 이름이 없는 장소의 상세 주소 대신 사용할 수 있습니다.

플러스 코드는 글로벌 코드 또는 복합 코드로 형식이 지정되어야 합니다.

  • 글로벌 코드는 4자리 지역 코드와 6 자 이상의 로컬 코드로 구성됩니다.

    예를 들어 '1600 Amphitheatre Parkway, Mountain View, CA' 주소의 경우 글로벌 코드는 '849V'이고 로컬 코드는 'CWC8+R9'입니다. 그런 다음 전체 10자리 플러스 코드를 사용하여 위치 값을 "849VCWC8+R9"로 지정합니다.

  • 복합 코드는 명시적인 위치와 결합된 6자 이상의 로컬 코드로 구성됩니다.

    예를 들어 '450 Serra Mall, Stanford, CA 94305, USA' 주소의 로컬 코드는 'CRHJ+C3'입니다. 복합 주소의 경우 로컬 코드를 'CRHJ+C3 Stanford, CA 94305, USA' 형식으로 주소의 도시, 주, 우편번호, 국가 부분과 결합합니다.

    예를 들어 플러스 코드를 사용하여 경로 origindestination의 경유지를 지정하여 경로를 계산합니다.

    {
      "origin":{
        "address": "849VCWC8+R9"
      },
      "destination":{
        "address": "CRHJ+C3 Stanford, CA 94305, USA"
      },
      "travelMode": "DRIVE"
    }

플러스 코드는 Place Autocomplete, 장소 세부정보, Directions API (기존), 및 Geocoding API를 비롯한 Google Maps Platform API에서 지원됩니다. 예를 들어 Geocoding API를 사용하여 위도/경도 좌표로 지정된 위치를 역 지오코딩하여 위치의 플러스 코드를 확인할 수 있습니다.