경로를 통과할 지점 설정

기본적으로 중간 경유지는 승차를 위해 정차하는 데 사용되며, 중간 경유지는 단지 중간 경유지를 의미한다고 지정할 수도 있습니다 통과할 수 있습니다.

출발지 경유지, 통과 중간 경로를 포함하는 경로 도착지 경유지는 한 경로의 구간을 하나만 포함하는 출발지와 목적지를 연결하고 중간 목적지를 통과하는 (via이라고 함) 경유지.

중간 경유지를 통과 경유지가 되도록 구성 다음 중 하나를 사용하여 경유지의 via 속성을 true로 설정 Waypoint (REST) 또는 경유지 (gRPC).

via 속성은 다음에 대한 응답으로 경로를 만들 때 가장 효과적입니다. 사용자가 지도에서 경유지를 드래그하면 됩니다. 이렇게 하면 사용자가 최종 경로가 실시간으로 확인되어 Compute Routes에 액세스할 수 있는 위치에 저장됩니다

다음 예는 중간 경유지를 통과 경유지입니다.

{
  "location": {
    "latLng": {
      "latitude":37.419734,
      "longitude":-122.0827784
    }
  },
  "via": true
}

중간 경유지의 장소 ID 액세스

출발지, 목적지 또는 중간 경유지의 위치를 지정하는 경우 주소 문자열 또는 플러스 코드로 제공하면 API가 해당하는 장소 ID가 있는 가장 관련성 높은 위치를 찾습니다. 이 geocodingResults.intermediates 드림 결과의 배열에는 경유지가 해당 위치에 대한 추가 데이터와 함께 표시됩니다.

intermediates 배열의 각 요소에 대해 다음을 사용합니다. intermediateWaypointRequestIndex 속성을 사용하여 Waypoint는 응답의 장소 ID에 해당합니다.

예를 들면 다음과 같습니다.

  • 요청에서 3개의 중간 경유지를 지정합니다. 이 중 두 가지 경유지는 주소 문자열과 위도/경도로 하나씩 지정됩니다. 좌표입니다.

  • 응답 필드 마스크에 geocodingResults를 포함하여 지정합니다. 결과에 geocodingResults 배열을 반환합니다.

curl -X POST -d '{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "24 Willie Mays Plaza, San Francisco, CA 94107"
  },
  "intermediates": [
    {
      "address": "450 Serra Mall, Stanford, CA 94305, USA"
    },
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    },
    {
      "address": "1836 El Camino Real, Redwood City, CA 94063"
    }
  ],
  "travelMode": "DRIVE",
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults'
'https://routes.googleapis.com/directions/v2:computeRoutes'

응답에는geocodingResults 출발지, 목적지 및 세 경유지 중 두 개의 경유지가 포함됩니다. 다음은 요청의 인덱스 0과 2에 있는 경유지. 목적지의 색인 1에 있는 경유지가 요청이 위도/경도 좌표를 사용하여 지정되었다면 응답의 geocodingResults 배열에서 생략되었습니다.

{
  "routes": [{...}],
  "geocodingResults": {
    "origin": {
      "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g"
    },
    "destination": {
     "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY"
    },
    "intermediates": [
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 0,
        "type": [
            "street_address"
        ],
        "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y"
      },
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 2,
        "type": [
          "premise"
        ],
        "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0"
      }
    ]
  }
}