Wyznacz trasę przyjazną dla środowiska

Domyślnie interfejs Routes API zwraca trasę domyślną, czyli trasę bez uwzględnienia efektywności paliwowej i energetycznej. Gdy włączysz trasę przyjazną dla środowiska, w odpowiedzi nadal otrzymasz domyślną trasę. Oprócz tego otrzymujesz też trasę przyjazną dla środowiska, która pokazuje trasę z najniższym spalaniem lub energią na podstawie typu silnika.

Trasa przyjazna dla środowiska zwracana przez interfejs Routes API jest zoptymalizowana pod kątem mniejszego zużycia paliwa na całej trasie. Interfejs API wybiera trasę przyjazną dla środowiska na podstawie typu silnika oraz innych czynników, takich jak natężenie ruchu w czasie rzeczywistym i warunki na drodze. Im większa oszczędność paliwa lub energii na trasie, tym niższe zużycie paliwa lub energii i emisja CO2.

Na przykład względne zużycie paliwa w pojeździe z silnikiem diesla jest zwykle największe podczas jazdy po autostradzie. Pojazdy hybrydowe i elektryczne zwykle zapewniają coraz większą wydajność podczas jazdy po mieście i jazdy po górzystej trasie, w których można w dużym stopniu korzystać z systemu hamowania regeneracyjnego.

Możesz też poprosić, by interfejs API zwracał szacunkowe zużycie paliwa na całej trasie. Wykorzystuj szacunkowe zużycie paliwa jako sposób na porównanie różnych tras, a nie jako dokładne szacunki zużycia paliwa dla konkretnego pojazdu.

Jak Mapy Google szacują spalanie

Interfejs Routes API szacuje efektywność paliwową na podstawie statystyk pochodzących z National Renewable Energy Laboratory Departamentu Energii Stanów Zjednoczonych oraz danych Europejskiej Agencji Środowiska. W obliczeniach uwzględnia się czynniki, które mają wpływ na zużycie paliwa i energii oraz emisję CO2, takie jak:

  • średnie zużycie paliwa i energii w pojazdach w Twoim regionie,
  • nachylenie drogi na trasie,
  • wzorce natężenia ruchu,
  • rodzaje dróg (np. lokalne lub autostrady).

Interfejs Routes API zwraca trasę z najniższym spalaniem lub energią, gdy godzina przyjazdu będzie w przybliżeniu taka sama jak trasa domyślna. Jeśli oszczędność paliwa lub energii jest zbyt mała lub powoduje znaczne wydłużenie czasu jazdy, interfejs API pokazuje względne oszczędności energii lub paliwa między trasami. Ułatwia to porównanie wyników.

Więcej informacji o technologii wyznaczania tras przyjaznych dla środowiska (PDF)

Wymagania wstępne

Aby korzystać z wyznaczania tras przyjaznych dla środowiska lub oszacować zużycie paliwa:

  • Jako preferencję routingu musisz określić TRAFFIC_AWARE_OPTIMAL. W tym trybie serwer przeprowadza bardziej szczegółowe wyszukiwanie sieci drogowej, aby znaleźć optymalną trasę. Więcej informacji znajdziesz w artykule Konfigurowanie jakości a czas oczekiwania.

  • Musisz ustawić travelMode na DRIVE. Żądania dotyczące innych środków transportu zwracają błąd.

  • Musisz ustawić lokalizację początkowego punktu pośredniego w obsługiwanym regionie. W przeciwnym razie interfejs API zwróci błąd.

  • Trasa nie może zawierać pośredniego punktu pośredniego.

Płatności

Zwykle Google Maps Platform nie pobiera opłat za korzystanie z funkcji w wersji testowej. Wyznaczanie tras przyjaznych dla środowiska oraz szacowanie zużycia paliwa wymaga określenia TRAFFIC_AWARE_OPTIMAL jako ustawienia trasy, więc opłaty są naliczane na podstawie atrybutu SKU: Trasy zaawansowane.

Dowiedz się więcej o płatnościach za interfejs Routes API.

Wysyłanie prośby o wyznaczenie trasy przyjaznej dla środowiska

Aby wysłać żądanie obliczenia trasy przyjaznej dla środowiska, ustaw w nim te właściwości:

  • Określ właściwość emissionType pojazdu za pomocą wartości zdefiniowanych w opcji VehicleEmissionType (Typ eksploatacji pojazdu): DIESEL, GASOLINE, ELECTRIC lub HYBRID. Wartością domyślną jest GASOLINE.

  • Ustaw wartość requestedReferenceRoutes na FUEL_EFFICIENT.

  • Ustaw maskę pola odpowiedzi, która określa zwracanie właściwości odpowiedzi powiązanych z trasą przyjazną dla środowiska:

    • routes.routeLabels: identyfikuje każdą trasę jako DEFAULT_ROUTE, FUEL_EFFICIENT lub DEFAULT_ROUTE_ALTERNATE.

    • routes.routeToken: Token trasy, który można przekazać do pakietu SDK nawigacji w celu pobrania trasy niestandardowej.

Przykład prośby o zgodę na wykorzystanie danych przyjaznych dla środowiska

Poniższy kod przedstawia żądanie trasy przyjaznej dla środowiska. W tym przykładzie użyjesz maski pola odpowiedzi, aby zwrócić właściwości odpowiedzi powiązane z trasą przyjazną dla środowiska wraz z właściwościami routes.distanceMeters i routes.duration:

curl -X POST -H 'content-type: application/json' -d '{
  "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"]
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Przykładowa odpowiedź ekologiczna

Powyższe wywołanie computeRoutes generuje odpowiedź JSON zawierającą 2 trasy: trasę domyślną i trasę z najniższym spalaniem. W odpowiedzi:

  • W przypadku trasy domyślnej właściwość tablicy routeLabels zawiera DEFAULT_ROUTE.

  • W przypadku trasy przyjaznej dla środowiska właściwość tablicy routeLabels zawiera FUEL_EFFICIENT.

  • Jeśli ustawisz w żądaniu computeAlternativeRoutes wartość true, aby obliczyć trasy alternatywne, właściwość tablicy routeLabels będzie zawierać wartość DEFAULT_ROUTE_ALTERNATE.

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

Ze względu na bieżące warunki jazdy i inne czynniki trasa domyślna i trasa przyjazna dla środowiska mogą być takie same. W tym przypadku routeLabels zawiera obie etykiety: DEFAULT_ROUTE i FUEL_EFFICIENT:

{
  "routes": [
    {
      "distanceMeters": 45875,
      "duration": "2655s",
      "routeToken": "CvcDCos…6I40",
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ]
    }
  ]
}

oszacować zużycie paliwa na trasie,

Możesz poprosić o metodę zwracającą szacunkowe zużycie paliwa na całej trasie (w mikrolitrach). Aby dodać do odpowiedzi szacunkowe zużycie paliwa na trasie:

  • Ustaw w polu tablicy extraComputations wartość FUEL_CONSUMPTION, aby włączyć obliczanie zużycia paliwa.

  • Określ właściwość emissionType pojazdu za pomocą wartości zdefiniowanych w opcji VehicleEmissionType (Typ eksploatacji pojazdu): DIESEL, GASOLINE, ELECTRIC lub HYBRID. Wartością domyślną jest GASOLINE.

    Jeśli emissionType to HYBRID, interfejs API przelicza zużycie energii elektrycznej i zużycie paliwa na mikrolitry paliwa.

    Jeśli emissionType to ELECTRIC, interfejs API przelicza zużycie energii elektrycznej na mikrolitry paliwa.

  • Ustaw maskę pola odpowiedzi, która będzie zwracała właściwości odpowiedzi powiązane ze zużyciem paliwa: routes.travelAdvisory.fuelConsumptionMicroliters.

Ten przykład przesyła żądanie informacji o szacowanym zużyciu paliwa w ramach prośby obejmującej również trasę przyjazną dla środowiska:

curl -X POST -H 'content-type: application/json' -d '{
  "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",
  "extraComputations": ["FUEL_CONSUMPTION"],
  "requestedReferenceRoutes": ["FUEL_EFFICIENT"]
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken,routes.travelAdvisory.fuelConsumptionMicroliters' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Odpowiedź zawiera szacowane zużycie paliwa zarówno dla trasy domyślnej, jak i trasy przyjaznej dla środowiska:

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

Obsługiwane regiony

Zespół Google Maps Platform stale pracuje nad zwiększeniem zasięgu naszych usług interfejsów API na całym świecie. Poniższa lista zawiera najnowsze informacje o wyznaczaniu tras przyjaznych dla środowiska w poszczególnych krajach:

  • Albania (AL)
  • Austria (AT)
  • Belgia (BE)
  • Bośnia i Hercegowina (BA)
  • Bułgaria (BG)
  • Kanada (CA)
  • Chorwacja (HR)
  • Cypr (CY)
  • Czechy (CZ)
  • Dania (DK)
  • Estonia (EE)
  • Finlandia (FI)
  • Francja (FR)
  • Niemcy (DE)
  • Grecja (GR)
  • Węgry (HU)
  • Islandia (IS)
  • Irlandia (IE)
  • Włochy (IT)
  • Kosowo (XK)
  • Łotwa (LV)
  • Liechtenstein (LI)
  • Litwa (LT)
  • Luksemburg (LU)
  • Malta (MT)
  • Czarnogóra (ME)
  • Holandia (NL)
  • Macedonia Północna
  • Norwegia (NO)
  • Polska (PL)
  • Portugalia (PT)
  • Rumunia (RO)
  • Serbia
  • Słowacja (SK)
  • Słowenia (SI)
  • Hiszpania (ES)
  • Szwecja (SE)
  • Szwajcaria (CH)
  • Turcja (TR)
  • Wielka Brytania (GB)
  • Stany Zjednoczone