Wyświetlenie listy pojazdów dostawczych

Z tego dokumentu dowiesz się, jak wyświetlić listę pojazdów dostawczych.

Środowiska i ograniczenia

Możesz wyświetlać pojazdy dostawcze w środowisku serwera lub przeglądarki. Kierowca Pakiet SDK nie obsługuje wyświetlania informacji o pojazdach dostawczych.

Pojazdy dostawcze proszą o szeroki dostęp do pojazdów dostawczych. przeznaczone tylko dla zaufanych użytkowników. Użyj Delivery Fleet Reader lub Fleet Engine Tokeny administratora dostarczania podczas wysyłania żądań list pojazdów dostarczania.

W przypadku wymienionych kanałów dostawy usuwamy te pola, ponieważ mają one wpływ na rozmiar odpowiedzi:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Wykorzystanie

Możesz wyświetlać listę pojazdów według filtrów atrybutów i granic widocznego obszaru. Jeśli nie określisz żadnego filtra ani widoku, odpowiedź będzie zawierać wszystkie kanały dostawy.

Lista z filtrami atrybutów

Możesz wyświetlić pojazdy dostawcze, filtrując je według właściwości attributes. Dla: przykład, aby przesłać zapytanie do atrybutu o kluczu my_key o wartości my_value, skorzystaj z funkcji attributes.my_key = my_value Aby wysyłać zapytania dotyczące wielu atrybutów, połącz zapytania używając operatorów logicznych AND i OR, np. attributes.key1 = value1 AND attributes.key2 = value2. Pełny opis znajdziesz na stronie AIP-160. składni zapytania filtra. Jeśli połączysz filtry z granicami widocznego obszaru, działa jako operator AND do granicy widocznego obszaru. Zobacz filtr atrybutów pojazdu , aby poznać szczegóły.

Lista z granicami widocznego obszaru

Możesz przefiltrować wymienione pojazdy dostawcze według lokalizacji za pomocą żądania viewport . Parametr żądania viewport definiuje widoczne obszary przy użyciu 2 ograniczeń współrzędne: długość i szerokość geograficzna high (północny wschód) oraz low (południowy zachód) . Żądania, które zawierają dużą szerokość geograficzną, są odrzucane które geograficznie jest niższe niż niska szerokość geograficzna.

Wyświetl odpowiedzi

Listy pojazdów dostawy są domyślnie podzielone na strony w odpowiednim rozmiarze. Jeśli określisz rozmiar strony, żądanie zwróci tylko liczbę pojazdów określonych przez limit lub mniej. Jeśli żądany rozmiar strony przekracza wewnętrzną wartość maksymalną, jest używana wewnętrzna wartość maksymalna. Domyślna i maksymalna liczba pojazdów na stronie to 100.

Lista pojazdów dostawczych może zawierać token odczytu następnej strony wyników. Token strony jest obecny w odpowiedzi tylko wtedy, gdy do pobrania jest więcej stron pojazdów dostawczych. Aby wyświetlić następną stronę zadań, użyj token strony z żądaniem, które jest identyczne z poprzednim żądaniem. użytkownika.

Wyświetlanie listy przykładów pojazdów

Możesz użyć biblioteki gRPC Java lub REST, aby wyświetlić pojazdy dostaw w region z określonym atrybutem. Pomyślna odpowiedź nadal może puste. Gdy tak się stanie, będzie to oznaczać, że brak pojazdów z określonym atrybutem są dostępne w określonym widocznym obszarze.

Java


  static final String PROJECT_ID = "my-delivery-co-gcp-project";

  DeliveryServiceBlockingStub deliveryService =
    DeliveryServiceGrpc.newBlockingStub(channel);

  // Tasks request
  String parent = "providers/" + PROJECT_ID;
  ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
    ListDeliveryVehiclesRequest.newBuilder()  // No need for the header
        .setParent(parent)
        .setViewport(
              Viewport.newBuilder()
                .setHigh(LatLng.newBuilder()
                    .setLatitude(37.45)
                    .setLongitude(-122.06)
                    .build())
                .setLow(LatLng.newBuilder()
                    .setLatitude(37.41)
                    .setLongitude(-122.11)
                    .build())
        .setFilter("attributes.my_key = my_value")
        .build();

  try {
    ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
        deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
        case NOT_FOUND:
            break;

        case PERMISSION_DENIED:
            break;
    }
    return;
  }

REST

  # HTTP request
  html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles

  # Request with a filter
  # Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
  curl -H "Authorization: Bearer ${JWT}" \
    "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"

Jeśli wyszukiwanie się powiedzie, treść odpowiedzi będzie zawierać dane o tej strukturze:

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

Co dalej?