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.

Wykazywanie pojazdów dostawczych wymaga szerokiego dostępu do pojazdów dostawczych i jest przeznaczone tylko dla zaufanych użytkowników. Podczas wysyłania żądań dotyczących listy pojazdów dostawczych używaj tokenów Delivery Fleet Reader lub Fleet Engine Delivery Admin.

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 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 składni zapytań filtra znajdziesz w artykule AIP-160. Jeśli połączysz filtry z ograniczeniami widoku, filtr będzie działać jak operator AND w przypadku ograniczenia widoku. Szczegółowe informacje znajdziesz w sekcji Zapytania dotyczące filtru atrybutów pojazdu.

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 zawierające wysoką szerokość geograficzną, która jest geograficznie niższa niż niska szerokość geograficzna, są odrzucane.

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 pobrać kolejną stronę zadań, użyj tokenu strony w żądaniu, które jest identyczne z poprzednim żądaniem.

Przykłady listy 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?