구글 지도 Routes API 친환경 경로(Eco Routes) 사용 방법

기본 경로 외에 연료 효율이나 CO₂ 배출량을 고려한 친환경 경로를 제공하면, 운전자에게 더 지속 가능한 이동 경험을 제공할 수 있습니다. Google 지도 Routes API의 Eco Routes 기능을 활용하면, 사용자의 차량 엔진 타입과 실시간 교통·도로 조건을 반영해 가장 연료 효율이 높은 경로를 함께 받아올 수 있습니다.

 

1. Eco Routes란?

  • Eco Routes는 연료 소비 또는 에너지 소비를 최소화하도록 최적화된 경로를 함께 반환합니다.
  • 기본 경로(`DEFAULT_ROUTE`)와 함께, `FUEL_EFFICIENT` 레이블이 붙은 친환경 경로를 받아볼 수 있습니다.
  • 차량 엔진 타입(가솔린·디젤·하이브리드·전기)을 기반으로 경로를 선택하며, CO₂ 배출량도 줄일 수 있습니다.

2. 사용 전제 조건

  • travelModeDRIVE로 설정해야 합니다.
  • routingPreferenceTRAFFIC_AWARE_OPTIMAL으로 설정해야 합니다.
  • 중간 경유지(waypoints)를 포함하면 오류가 발생하므로, 출발지와 도착지만 지정해야 합니다.
  • 지원 지역 목록에 해당하는 국가에서만 사용할 수 있습니다.

3. 친환경 경로 요청하기

Compute Routes의 POST 요청 본문에 다음 속성을 포함해 친환경 경로를 요청합니다.

  • routeModifiers.vehicleInfo.emissionType: GASOLINE, DIESEL, HYBRID, ELECTRIC 중 하나
  • requestedReferenceRoutes: ["FUEL_EFFICIENT"]
  • routingPreference: TRAFFIC_AWARE_OPTIMAL
  • travelMode: DRIVE

요청 예시 (curl)

curl -X POST \
  'https://routes.googleapis.com/directions/v2:computeRoutes' \
  -H 'Content-Type: application/json' \
  -H 'X-Goog-Api-Key: YOUR_API_KEY' \
  -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \
  --data-raw '{
    "origin": {
      "location": {
        "latLng": {
          "latitude": 41.76904801292959,
          "longitude": -72.67374935684933
        }
      }
    },
    "destination": {
      "location": {
        "latLng": {
          "latitude": 41.823042361105024,
          "longitude": -71.40933143059424
        }
      }
    },
    "routeModifiers": {
      "vehicleInfo": {
        "emissionType": "GASOLINE"
      }
    },
    "travelMode": "DRIVE",
    "routingPreference": "TRAFFIC_AWARE_OPTIMAL",
    "requestedReferenceRoutes": ["FUEL_EFFICIENT"]
  }'

4. 응답 예시

{
  "routes": [
    {
      "distanceMeters": 138939,
      "duration": "5412s",
      "routeToken": "CoYJCpoIC…0n9S1cu",
      "routeLabels": ["DEFAULT_ROUTE"]
    },
    {
      "distanceMeters": 116887,
      "duration": "5631s",
      "routeToken": "CuEHCu0G…xqm",
      "routeLabels": ["FUEL_EFFICIENT"]
    }
  ]
}

5. 연료 소비량 추정하기

전체 경로의 예상 연료 소비량(마이크로리터 단위)을 함께 요청하려면 extraComputations["FUEL_CONSUMPTION"]를 추가하고, 응답 필드 마스크에 routes.travelAdvisory.fuelConsumptionMicroliters를 포함합니다.

요청 예시 (curl)

curl -X POST \
  'https://routes.googleapis.com/directions/v2:computeRoutes' \
  -H 'Content-Type: application/json' \
  -H 'X-Goog-Api-Key: YOUR_API_KEY' \
  -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.travelAdvisory.fuelConsumptionMicroliters' \
  --data-raw '{
    "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } },
    "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } },
    "routeModifiers": { "vehicleInfo": { "emissionType": "GASOLINE" } },
    "travelMode": "DRIVE",
    "routingPreference": "TRAFFIC_AWARE_OPTIMAL",
    "requestedReferenceRoutes": ["FUEL_EFFICIENT"],
    "extraComputations": ["FUEL_CONSUMPTION"]
  }'

응답 예시

{
  "routes": [
    {
      "distanceMeters": 138939,
      "duration": "5412s",
      "travelAdvisory": { "fuelConsumptionMicroliters": "11019554" },
      "routeLabels": ["DEFAULT_ROUTE"]
    },
    {
      "distanceMeters": 116887,
      "duration": "5631s",
      "travelAdvisory": { "fuelConsumptionMicroliters": "9572436" },
      "routeLabels": ["FUEL_EFFICIENT"]
    }
  ]
}

6. 지원 지역

Eco Routes 기능은 다음 국가에서 지원됩니다(예시 일부):

  • 한국(KR), 미국(US), 캐나다(CA), 영국(GB), 프랑스(FR), 독일(DE) 등
  • 전체 지원 국가는 공식 문서를 참고하세요.

7. 과금 및 요약

  • Eco Routes는 현재 Preview 상태이며, TRAFFIC_AWARE_OPTIMAL 사용 시 SKU: Compute Routes Pro  요금이 적용됩니다.
  • 친환경 경로와 연료 소비량 추정 기능을 통해 사용자에게 더 친환경적인 길안내 경험을 제공할 수 있습니다.

Google 지도 Routes API의 Eco Routes 기능을 활용하면, 단순히 빠른 길만이 아닌 연료 효율과 CO₂ 배출량을 고려한 경로를 함께 제공할 수 있습니다.