このドキュメントでは、配達車両を一覧表示する方法について説明します。
環境と制限
サーバーまたはブラウザ環境から配送車両を一覧表示できます。ドライバー 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
}