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
}