기본적으로 Routes 라이브러리의 computeRoutes 메서드는 정차 경유지라고 하는 여러 정차 지점을 통해 제공된 순서대로 경로를 계산합니다.
Routes API에서 더 효율적인 순서로 정류장을 재정렬하여 제공된 경로를 최적화하도록 할 수 있습니다. 경유지 최적화는 이동 시간을 기준으로 최적화하지만 가장 효율적인 경로를 결정할 때 거리, 방향 전환 횟수 등 다른 요인도 고려합니다.
경유지 최적화
- 경로의 어떤 경유지에도
via가true로 설정되어 있지 않은지 확인합니다. routingPreference이TRAFFIC_AWARE_OPTIMAL으로 설정되지 않았는지 확인합니다.optimizeWaypointOrder를true로 설정합니다.- 필드 마스크에서
optimizedIntermediateWaypointIndices필드를 지정합니다.
경유지 순서가 최적화되는 방식 이해하기
Routes API가 경로의 경유지 순서를 최적화하는 방법은 다음과 같습니다.
- 요청에 제공된 순서에 따라 웨이포인트를 자동으로 색인화합니다(0부터 시작).
- 요청에서 경유지에 할당된 색인 번호를 사용하여 경유지 순서를 최적화합니다.
optimizedIntermediateWaypointIndices아래의 응답에서 최적화된 경유지 순서를 반환합니다.
요청 예시
다음 예시에서는 오스트레일리아 남부 애들레이드에서 오스트레일리아 남부의 각 주요 와인 지역으로 가는 경로에서 최적화된 경유지를 요청한 다음 애들레이드로 돌아오는 방법을 보여줍니다.
const request = { origin: 'Adelaide, SA', destination: 'Adelaide, SA', intermediates: [ {location: "Barossa+Valley,SA"}, {location: "Clare,SA"}, {location: "Coonawarra,SA"}, {location: "McLaren+Vale,SA"}, ], travelMode: 'DRIVING', optimizeWaypointOrder: true, fields: ['path','optimizedIntermediateWaypointIndices'], };
응답 예
응답에optimizedIntermediateWaypointIndices가 포함됩니다.
Response: [ { "optimizedIntermediateWaypointIndices": [ 3, // McLaren+Vale, SA 2, // Coonawarra, SA 0, // Barossa+Valley, SA 1 // Clare, SA ], ...