Z tego dokumentu dowiesz się, jak wyświetlać listę pojazdów dostawczych.
Środowiska i ograniczenia
Listę pojazdów dostawczych możesz wyświetlić w środowisku serwera lub przeglądarki. Pakiet Driver SDK nie obsługuje wyświetlania listy pojazdów dostawczych.
Wyświetlanie listy pojazdów dostawczych wymaga szerokiego dostępu do pojazdów dostawczych i jest przeznaczone tylko dla zaufanych użytkowników. Podczas wysyłania żądań wyświetlenia listy pojazdów dostawczych używaj tokenów Użytkownik odczytujący informacje o flocie w usłudze Fleet Engine Delivery lub Administrator usługi Fleet Engine Delivery.
W przypadku pojazdów dostawczych na liście ze względu na wpływ na rozmiar odpowiedzi następujące pola są redagowane:
CurrentRouteSegmentRemainingVehicleJourneySegments
Wykorzystanie
Listę pojazdów możesz wyświetlać według filtrów atrybutów i granic widocznego obszaru. Jeśli nie określisz filtra ani widocznego obszaru, odpowiedź będzie zawierać wszystkie pojazdy dostawcze.
Lista z filtrami atrybutów
Listę pojazdów dostawczych możesz wyświetlać według filtra, korzystając z właściwości attributes. Aby
na przykład wysłać zapytanie o atrybut z kluczem my_key i wartością my_value, użyj
attributes.my_key = my_value. Aby wysłać zapytanie o wiele atrybutów, połącz zapytania
za pomocą operatorów logicznych AND i OR, np. attributes.key1 = value1 AND
attributes.key2 = value2. Pełny opis składni zapytań filtra znajdziesz w AIP-160. Jeśli połączysz filtry z granicami widocznego obszaru, filtr będzie działać jako operator AND w stosunku do granic widocznego obszaru. Więcej informacji znajdziesz w artykule Zapytania filtra atrybutów pojazdu.
Lista z granicami widocznego obszaru
Listę pojazdów dostawczych możesz filtrować według lokalizacji za pomocą parametru żądania viewport. Parametr żądania viewport określa widoczne obszary za pomocą 2 współrzędnych ograniczających: high (północno-wschodniej) i low (południowo-zachodniej) pary współrzędnych geograficznych. Żądania są odrzucane, jeśli zawierają wysoką szerokość geograficzną, która jest geograficznie niższa niż niska szerokość geograficzna.
Odpowiedzi na listę
Listy pojazdów dostawczych są domyślnie dzielone na strony o rozsądnym rozmiarze. Jeśli określisz rozmiar strony, żądanie zwróci tylko liczbę pojazdów określoną przez limit lub mniejszą. Jeśli żądany rozmiar strony przekracza wewnętrzną wartość maksymalną, używana jest wewnętrzna wartość maksymalna. Domyślny i maksymalny rozmiar strony to 100 pojazdów.
Lista pojazdów dostawczych może zawierać token do odczytania następnej strony wyników. Token strony jest obecny w odpowiedzi tylko wtedy, gdy dostępne są kolejne strony pojazdów dostawczych. Aby pobrać następną stronę zadań, użyj tokena strony z żądaniem, które jest identyczne z poprzednim żądaniem.
Przykłady wyświetlania listy pojazdów
Aby wyświetlić listę pojazdów dostawczych w określonym regionie z określonym atrybutem, możesz użyć biblioteki Java gRPC lub REST. Odpowiedź informująca o powodzeniu może być pusta. Oznacza to, że w określonym widocznym obszarze nie ma pojazdów z określonym atrybutem. Pełną listę obsługiwanych języków znajdziesz w artykule Biblioteki klienta dla usług zadań zaplanowanych.
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 następującej strukturze:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}