このドキュメントでは、配送車両を一覧表示する方法について説明します。
環境と制限
サーバーまたはブラウザ環境から配送車両を一覧表示できます。Driver SDK は配送車両のリスティングをサポートしていません。
配達車両のリストを取得すると、配達車両への幅広いアクセスがリクエストされ、 信頼できるユーザーのみを対象とするものです。Delivery Fleet Reader またはFleet Engine を使用する 配達管理者トークンを使用して、車両リストに配達車両のリストをリクエストすることもできます。
掲載されている配達車両は、影響があるため、次のフィールドが削除されています レスポンス サイズ:
CurrentRouteSegment
RemainingVehicleJourneySegments
用途
車両は、属性フィルタとビューポート境界でリストできます。「 フィルタもビューポートも指定されていない場合、レスポンスにはすべての配達車両が含まれます。
属性フィルタを使用したリスト
配送車両は、attributes
プロパティを使用してフィルタでリストできます。対象
たとえば、キーが my_key
で値が my_value
の属性をクエリするには、次のコマンドを使用します。
attributes.my_key = my_value
。複数の属性をクエリするには、クエリを結合します
attributes.key1 = value1 AND
attributes.key2 = value2
のように論理 AND
演算子と OR
論理演算子を使用しています。フィルタクエリの構文の詳細については、AIP-160 をご覧ください。フィルタとビューポート境界を組み合わせると、
ビューポート境界に対して AND
演算子として機能します。詳しくは、車両属性フィルタ クエリをご覧ください。
ビューポート境界付きリスト
viewport
リクエスト パラメータを使用して、リスト表示された配送車両を場所別にフィルタリングできます。viewport
リクエスト パラメータは 2 つの境界を使用してビューポートを定義する
座標: high
(北東)と low
(南西)の緯度と経度
あります。自由度が高いリクエストは拒否されます
地理的に低い位置に送られます
レスポンスを一覧表示する
配送車両リストは、デフォルトで適切なページサイズを使用してページ分けされます。ページサイズを指定すると、リクエストで上限で指定された車両数、またはそれ以下の車両数のみが返されます。リクエストされたページサイズが内部最大値を超える場合は、内部最大値が使用されます。デフォルト ページと最大ページ いずれも 100 台です
配送車両リストには、結果の次のページを読み取るためのトークンを含めることができます。ページトークンは、配送車両の他のページを取得できる場合にのみレスポンスに存在します。タスクの次のページを取得するには、ページトークンを使用して、前のリクエストとそれ以外は同じリクエストを送信します。
車両の一覧の例
Java gRPC ライブラリまたは REST を使用して、 特定の地域に限定できます。それでもレスポンスが成功すると、 空です。その場合、指定された属性を持つ車両が 指定したビューポート内に存在していることになります。
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"
ルックアップが成功すると、レスポンスの本文には次のデータが含まれます。 ストラクチャ:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}