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
}