Wyświetlenie listy pojazdów dostawczych

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

Środowiska i ograniczenia

Możesz wyświetlić listę pojazdów dostawy ze środowiska 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.

Ze względu na wpływ pojazdów na liście pojazdów te pola zostały usunięte dotyczące rozmiaru odpowiedzi:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Wykorzystanie

Możesz wyświetlać listę pojazdów według filtrów atrybutów i granic widocznego obszaru. Jeśli określisz bez filtra ani widocznego obszaru, odpowiedź obejmuje wszystkie pojazdy dostawy.

Lista z filtrami atrybutów

Możesz wyświetlić listę pojazdów dostawczych według filtra z użyciem ich 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óra geograficznie jest mniejsza 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 wartość wewnętrzną wartość maksymalną, używana jest wewnętrzna wartość maksymalna. Stronę domyślną i maksymalną po 100 pojazdów.

Lista pojazdów dostawczych może zawierać token odczytu następnej strony wyników. Token strony występuje w odpowiedzi tylko wtedy, gdy więcej stron wyświetlania pojazdy są dostępne do pobrania. 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 zakończy się powodzeniem, treść odpowiedzi będzie zawierać dane z następującymi wartościami: struktura:

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

Co dalej?