Wyznacz trasę przyjazną dla środowiska

Domyślnie interfejs Routes API zwraca trasę domyślną, czyli trasę bez uwzględniania spalania i efektywności energetycznej. Jeśli włączysz wyznaczanie tras przyjaznych dla środowiska, w odpowiedzi nadal otrzymasz trasę domyślną. Dodatkowo otrzymasz także przyjazną dla środowiska trasę z najniższym spalaniem lub najniższym spalaniem w zależności od typu silnika.

Trasa przyjazna dla środowiska zwracana przez interfejs Routes API jest zoptymalizowana pod kątem mniejszego zużycia paliwa na całej trasie. Aby wybrać trasę przyjazną dla środowiska, interfejs API wykorzystuje typ silnika pojazdu oraz inne czynniki, takie 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 silnikach Diesla jest przeważnie największe podczas jazdy po autostradach. Pojazdy hybrydowe i elektryczne zapewniają zwykle coraz większą wydajność podczas postoju w mieście oraz w pagórkowatych środowiskach, w których można je intensywnie wykorzystywać i wykorzystywać hamowanie regeneracyjne.

Możesz też poprosić interfejs API o zwrócenie szacowanego zużycia paliwa dla całej trasy. Szacowane zużycie paliwa służy do porównywania różnych tras, a nie jako jawnych szacunków zużycia paliwa przez konkretny pojazd.

Jak Mapy Google szacują zużycie paliwa

Interfejs Routes API szacuje efektywność paliwową na podstawie danych pochodzących z National Renewable Energy Laboratory Departamentu Energetyki Stanów Zjednoczonych oraz danych Europejskiej Agencji Środowiska. W obliczeniach uwzględnia się czynniki, które wpływają 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 największym spalaniem lub energooszczędnością, jeśli ma ona mniej więcej taki sam czas przyjazdu co trasa domyślna. W przypadkach, gdy oszczędność paliwa lub energii jest zbyt mała albo znacznie wydłuża czas jazdy, interfejs API wyświetla względne oszczędności paliwa lub energii 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 wyznaczać trasy przyjazne dla środowiska lub oszacować zużycie paliwa:

  • Jako preferencję routingu musisz określić TRAFFIC_AWARE_OPTIMAL. W tym trybie serwer przeszukuje sieć dróg, aby znaleźć optymalną trasę. Więcej informacji znajdziesz w artykule Konfigurowanie jakości a opóźnienie.

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

  • Musisz ustawić lokalizację punktu początkowego w obsługiwanym regionie. W przeciwnym razie API zwraca 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. Jednak ze względu na to, że wyznaczanie tras przyjaznych dla środowiska i szacowanie zużycia paliwa wymaga ustawienia TRAFFIC_AWARE_OPTIMAL jako preferencji trasy, opłaty są naliczane na podstawie SKU: zaawansowane trasy.

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

Wybierz trasę przyjazną dla środowiska

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

  • Określ emissionType dla pojazdu za pomocą wartości zdefiniowanych w atrybucie VehicleEmissionType: DIESEL, GASOLINE, ELECTRIC lub HYBRID. Wartością domyślną jest GASOLINE.

  • Ustaw requestedReferenceRoutes na FUEL_EFFICIENT.

  • Ustaw maskę pola odpowiedzi, która określa, że ma zwrócić właściwości odpowiedzi powiązane 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żesz przekazać do pakietu SDK nawigacji, aby pobrać trasę niestandardową.

Przykładowe treści przyjazne dla środowiska

Ten kod pokazuje żądanie trasy przyjaznej dla środowiska. W tym przykładzie używasz maski pola odpowiedzi, aby zwrócić właściwości odpowiedzi powiązane z trasą ekologiczną 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: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Przykładowa ekologiczna odpowiedź

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 wartość DEFAULT_ROUTE.

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

  • Jeśli w żądaniu ustawisz computeAlternativeRoutes na true, aby obliczyć trasy alternatywne, właściwość tablicy routeLabels będzie zawierać 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 obecne warunki jazdy i inne czynniki trasa domyślna i ekologiczna 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"
      ]
    }
  ]
}

Szacuj zużycie paliwa na trasie

Możesz poprosić o zwrócenie szacunkowego zużycia paliwa na całej trasie w mikrolitrach. Aby dodać do odpowiedzi szacunkowe zużycie paliwa na trasie:

  • Aby umożliwić obliczanie zużycia paliwa, w polu tablicy extraComputations ustaw FUEL_CONSUMPTION.

  • Określ emissionType dla pojazdu za pomocą wartości zdefiniowanych w atrybucie VehicleEmissionType: DIESEL, GASOLINE, ELECTRIC lub HYBRID. Wartością domyślną jest GASOLINE.

    Jeśli emissionType to HYBRID, interfejs API przelicza energię elektryczną 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 określa, że mają być zwracane właściwości odpowiedzi związane ze zużyciem paliwa: routes.travelAdvisory.fuelConsumptionMicroliters.

W żądaniu, które uwzględnia też 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: YOUR_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 informacje o szacowanym zużyciu paliwa na trasie domyślnej i trasie ekologicznej:

{
    "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 interfejsu API na całym świecie. Na liście poniżej znajdziesz najnowsze dane na temat wyznaczania 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 (Liechtenstein)
  • Litwa (LT)
  • Luksemburg (LU)
  • Malta (MT)
  • Czarnogóra (ME)
  • Holandia (NL)
  • Macedonia Północna (MK)
  • Norwegia (NO)
  • Polska (PL)
  • Portugalia (PT)
  • Rumunia (RO)
  • Serbia (RS)
  • Słowacja (SK)
  • Słowenia (SI)
  • Hiszpania (ES)
  • Szwecja (SE)
  • Szwajcaria (CH)
  • Turcja (TR)
  • Wielka Brytania (GB)
  • Stany Zjednoczone