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. Pakiet SDK sterowników 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ń list pojazdów dostarczających listę używaj tokenów Delivery Fleet Reader lub Fleet Engine Delivery Admin.
Ze względu na wpływ na rozmiar odpowiedzi te pola w przypadku pojazdów dostawy z listą produktów zostały usunięte:
CurrentRouteSegment
RemainingVehicleJourneySegments
Wykorzystanie
Możesz wyświetlać listę pojazdów według filtrów atrybutów i granic widoku. 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ć listę pojazdów dostawczych według filtra z użyciem ich właściwości attributes
. Aby na przykład zapytać o atrybut o kluczu my_key
i wartości my_value
, użyj wyrażenia attributes.my_key = my_value
. Aby zapytać o kilka atrybutów, połącz zapytania za pomocą operatorów logicznych AND
i OR
, jak w przypadku zapytania 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 filtrować wymienione pojazdy dostawy według lokalizacji, używając parametru żądania viewport
. Parametr żądania viewport
definiuje widoczne obszary za pomocą dwóch współrzędnych ograniczających: high
(północny wschód) i low
(południowy zachód). Żądania są odrzucane, jeśli zawierają dużą szerokość geograficzną, która jest geograficznie mniejsza niż mała szerokość geograficzna.
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śloną w tym limicie lub mniejszą. Jeśli żądany rozmiar strony przekracza wewnętrzną wartość maksymalną, używana jest wewnętrzna wartość maksymalna. Domyślna i maksymalna liczba pojazdów na stronie to 100.
Lista pojazdów dostawczych może zawierać token umożliwiający wyświetlenie 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ć następną stronę zadań, użyj tokena strony z żądaniem, które jest identyczne z poprzednim żądaniem.
Wyświetlanie listy przykładów pojazdów
Możesz użyć biblioteki gRPC Java lub REST, aby wyświetlić listę pojazdów dostawy z konkretnego regionu z określonym atrybutem. Odpowiedź informująca o powodzeniu może być pusta. Gdy tak się stanie, oznacza to, że w widocznym obszarze nie są widoczne żadne pojazdy z określonym atrybutem.
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ła dane o tej strukturze:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}