경로에서 정류장 순서 최적화

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

기본적으로 Routes 라이브러리의 computeRoutes 메서드는 정차 경유지라고 하는 여러 정차 지점을 통해 제공된 순서대로 경로를 계산합니다.

Routes API에서 더 효율적인 순서로 정류장을 재정렬하여 제공된 경로를 최적화하도록 할 수 있습니다. 경유지 최적화는 이동 시간을 기준으로 최적화하지만 가장 효율적인 경로를 결정할 때 거리, 방향 전환 횟수 등 다른 요인도 고려합니다.

경유지 최적화

  1. 경로의 어떤 경유지에도 viatrue로 설정되어 있지 않은지 확인합니다.
  2. routingPreferenceTRAFFIC_AWARE_OPTIMAL으로 설정되지 않았는지 확인합니다.
  3. optimizeWaypointOrdertrue로 설정합니다.
  4. 필드 마스크에서 optimizedIntermediateWaypointIndices 필드를 지정합니다.

경유지 순서가 최적화되는 방식 이해하기

Routes API가 경로의 경유지 순서를 최적화하는 방법은 다음과 같습니다.

  1. 요청에 제공된 순서에 따라 웨이포인트를 자동으로 색인화합니다(0부터 시작).
  2. 요청에서 경유지에 할당된 색인 번호를 사용하여 경유지 순서를 최적화합니다.
  3. 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
    ],
    ...