Wyznacz trasę przyjazną dla środowiska

Domyślnie interfejs Routes API zwraca domyślną trasę, czyli trasę bez uwzględniania efektywności paliwowej lub energetycznej. Gdy włączysz ekologiczne wyznaczanie tras, w odpowiedzi nadal otrzymasz domyślną trasę. Oprócz tego otrzymasz też trasę przyjazną dla środowiska, która będzie miała najniższe zużycie paliwa lub energii w zależności od typu silnika Twojego pojazdu.

Trasa przyjazna dla środowiska zwrócona przez interfejs Routes API jest optymalizowana pod kątem mniejszego zużycia paliwa na całej trasie. Aby wybrać trasę przyjazną dla środowiska, interfejs API uwzględnia rodzaj silnika pojazdu oraz inne czynniki, takie jak natężenie ruchu w czasie rzeczywistym i warunki drogowe. 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 zwykle największe podczas jazdy po autostradzie. Pojazdy z napędem hybrydowym i elektrycznym zapewniają większe oszczędności podczas jazdy po mieście w ruchu ulicznym oraz w terenie górzystym, gdzie mogą skutecznie wykorzystywać zalety hamowania rekuperacyjnego.

Możesz też poprosić, aby interfejs API zwrócił szacowane zużycie paliwa na całej trasie. Używaj szacunków zużycia paliwa do porównywania różnych tras, a nie jako dokładnych szacunków zużycia paliwa w przypadku Twojego pojazdu.

Jak Mapy Google szacują efektywność paliwową

Interfejs Routes API szacuje efektywność paliwową na podstawie informacji z Krajowego Laboratorium Energii Odnawialnej 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ę o największej paliwo- i energooszczędności, gdy zapewnia ona podobny czas przyjazdu co trasa domyślna. Jeśli oszczędność paliwa lub energii jest zbyt mała bądź powoduje znaczne wydłużenie czasu jazdy, interfejs API pokazuje względne oszczędności paliwa lub energii między trasami, co ułatwia ich porównywanie.

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

Wymagania wstępne

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

  • Musisz podać TRAFFIC_AWARE_OPTIMAL jako preferencję routingu. W tym trybie serwer wykonuje bardziej wyczerpujące wyszukiwanie sieci drogowej, aby znaleźć optymalną trasę. Więcej informacji znajdziesz w artykule Konfigurowanie jakości i opóźnienia.

  • Musisz ustawić wartość travelMode na DRIVE. W przypadku żądań dotyczących innych trybów podróży zwracany jest błąd.

  • Lokalizacja punktu początkowego musi znajdować się w obsługiwanym regionie. W przeciwnym razie API zwraca błąd.

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

Płatności

Google Maps Platform zwykle nie pobiera opłat za korzystanie z funkcji podglądu. Ponieważ jednak wyznaczanie tras przyjaznych dla środowiska i szacowanie zużycia paliwa wymaga wybrania opcji TRAFFIC_AWARE_OPTIMAL jako preferowanej metody wyznaczania trasy, opłata jest naliczana na podstawie SKU: Routes Advanced.

Więcej informacji o płatnościach w przypadku interfejsu Routes API.

Prośba o wyznaczenie trasy przyjaznej dla środowiska

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

  • Określ emissionType pojazdu za pomocą wartości zdefiniowanych w 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 zwracanie właściwości odpowiedzi związanych z trasą przyjazną dla środowiska:

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

    • routes.routeToken: Token trasy, który możesz przekazać do pakietu SDK do nawigacji, aby pobrać trasę niestandardową.

Przykład prośby o uwzględnienie kwestii ekologicznych

Poniższy kod pokazuje żądanie dotyczące przyjaznej dla środowiska trasy. W tym przykładzie używasz maski pola odpowiedzi, aby zwrócić właściwości odpowiedzi powiązane z przyjazną dla środowiska trasą, wraz z właściwościami routes.distanceMetersroutes.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 odpowiedź na pytanie dotyczące ekologii

Powyższe wywołanie computeRoutes generuje odpowiedź JSON zawierającą 2 trasy: domyślną i o niskim spalaniu. W odpowiedzi:

  • W przypadku domyślnej trasy tablica właściwości routeLabels zawiera element DEFAULT_ROUTE.

  • W przypadku trasy przyjaznej dla środowiska tablica routeLabels zawiera element FUEL_EFFICIENT.

  • Jeśli w żądaniu ustawisz wartość computeAlternativeRoutes na true, aby obliczyć alternatywną trasę, 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 obecne warunki jazdy i inne czynniki trasa domyślna i 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"
      ]
    }
  ]
}

Oszacowanie zużycia paliwa na trasie

Możesz poprosić o metodę zwracającą szacowany pobór paliwa na całej trasie w mikrolitry. Aby dodać do odpowiedzi szacowany koszt paliwa na danej trasie:

  • Aby włączyć obliczenia zużycia paliwa, ustaw pole tablicy extraComputations na FUEL_CONSUMPTION.

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

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

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

  • Ustaw maskę pola odpowiedzi, która określa zwracanie właściwości odpowiedzi związanych z zużyciem paliwa: routes.travelAdvisory.fuelConsumptionMicroliters.

W tym przykładzie żądanie przewidywanego zużycia paliwa jest częścią żądania, które obejmuje 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: 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 szacowane zużycie paliwa zarówno dla trasy domyślnej, jak i dla 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 międzynarodowego naszych usług API. Poniżej znajdziesz listę najnowszych informacji o zasięgu dla poszczególnych krajów, które są niezbędne do przyjaznego dla środowiska routingu:

  • 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 (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