REST Resource: providers.vehicles

資源:交通工具

車輛中繼資料。

JSON 表示法
{
  "name": string,
  "vehicleState": enum (VehicleState),
  "supportedTripTypes": [
    enum (TripType)
  ],
  "currentTrips": [
    string
  ],
  "lastLocation": {
    object (VehicleLocation)
  },
  "maximumCapacity": integer,
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "vehicleType": {
    object (VehicleType)
  },
  "licensePlate": {
    object (LicensePlate)
  },
  "route": [
    {
      object (TerminalLocation)
    }
  ],
  "currentRouteSegment": string,
  "currentRouteSegmentTraffic": {
    object (TrafficPolylineData)
  },
  "currentRouteSegmentVersion": string,
  "currentRouteSegmentEndPoint": {
    object (TripWaypoint)
  },
  "remainingDistanceMeters": integer,
  "etaToFirstWaypoint": string,
  "remainingTimeSeconds": integer,
  "waypoints": [
    {
      object (TripWaypoint)
    }
  ],
  "waypointsVersion": string,
  "backToBackEnabled": boolean,
  "navigationStatus": enum (NavigationStatus),
  "deviceSettings": {
    object (DeviceSettings)
  }
}
欄位
name

string

僅供輸出。這輛車輛的專屬名稱。格式為 providers/{provider}/vehicles/{vehicle}

vehicleState

enum (VehicleState)

車輛狀態。

supportedTripTypes[]

enum (TripType)

這輛車支援的行程類型。

currentTrips[]

string

僅供輸出。目前指派給這輛車的行程的tripId清單。

lastLocation

object (VehicleLocation)

上次回報的車輛位置

maximumCapacity

integer

這輛車輛可載運的乘客總數。這個值不考慮驅動程式。這個值必須大於或等於 1。

attributes[]

object (VehicleAttribute)

車輛屬性清單。車輛最多只能有 100 個屬性,而且每個屬性都必須有專屬索引鍵。

vehicleType

object (VehicleType)

必要欄位。這個車輛的類型。可用來篩選 vehicles.search 結果中的車輛。也會影響預估到達時間和路線計算。

licensePlate

object (LicensePlate)

車輛的車牌資訊。

route[]
(deprecated)

object (TerminalLocation)

已淘汰:請改用 Vehicle.waypoints

currentRouteSegment

string

用於指定駕駛應用程式前往下一個路線點的路徑的折線。凡是指派給車輛的有效行程,這份清單也會在 Trip.current_route_segment 中傳回。

注意:這個欄位僅供 Driver SDK 使用。尚未支援解碼。

currentRouteSegmentTraffic

object (TrafficPolylineData)

僅限輸入。Fleet Engine 會使用這些資訊改善行程分享功能。注意:這個欄位僅供 Driver SDK 使用。

currentRouteSegmentVersion

string (Timestamp format)

僅供輸出。設定currentRouteSegment的時間。用戶端可儲存這個檔案,並在日後的 vehicles.get 要求中傳遞,避免傳回未變更的路徑。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

currentRouteSegmentEndPoint

object (TripWaypoint)

currentRouteSegment 結束的路徑點。司機可在 vehicles.update 呼叫中提供這項資訊,做法是提供完整行程路線的路線點、路線點 LatLng,或是 currentRouteSegment 的最後一個 LatLng。如果未完整指定實際路標,Fleet Engine 會盡力插補。除非一併指定 currentRouteSegment,否則 vehicles.update 呼叫中會忽略這個欄位。

remainingDistanceMeters

integer

currentRouteSegment 的剩餘行車距離。對於指派給車輛的所有有效行程,系統也會在 Trip.remaining_distance_meters 中傳回這個值。如果 currentRouteSegment 欄位為空白,則未指定值。

etaToFirstWaypoint

string (Timestamp format)

waypoints 欄位中第一個項目的預估到達時間。如果 waypoints 欄位或 Vehicle.current_route_segment 欄位為空白,則值未指定。

更新車輛時,remainingTimeSeconds 會優先於同一要求中的 etaToFirstWaypoint

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

remainingTimeSeconds

integer

僅限輸入。currentRouteSegment的剩餘行車時間。如果 waypoints 欄位空白或 Vehicle.current_route_segment 欄位為空白,則系統不會指定這個值。如果所有參與者都使用相同的時鐘,這個值應與 etaToFirstWaypoint - current_time 相符。

更新車輛時,在同一項要求中,remainingTimeSeconds 的優先順序高於 etaToFirstWaypoint

waypoints[]

object (TripWaypoint)

指派給這輛車的其餘路線控點。

waypointsVersion

string (Timestamp format)

僅供輸出。上次更新 waypoints 欄位的時間。用戶端應快取這個值並傳入 GetVehicleRequest,確保 waypoints 欄位只有在更新之後才會傳回。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

backToBackEnabled

boolean

指出駕駛是否接受返回行程。如果 true,即使目前已分配到行程,vehicles.search 仍可能納入車輛。預設值為 false

navigationStatus

enum (NavigationStatus)

車輛的導航狀態。

deviceSettings

object (DeviceSettings)

僅限輸入。駕駛人使用的行動裝置設定資訊。

VehicleState

Vehicle 的狀態。

列舉
UNKNOWN_VEHICLE_STATE 預設值,用於未指定或無法辨識的車輛狀態。
OFFLINE 車輛不接受新行程。注意:完成指派給車輛的行程時,車輛可能會繼續以此狀態營運。
ONLINE 車輛正在接受新行程。

VehicleAttribute

將車輛屬性描述為鍵/值組合。「key:value」字串的長度不得超過 256 個字元。

JSON 表示法
{
  "key": string,
  "value": string,

  // Union field vehicle_attribute_value can be only one of the following:
  "stringValue": string,
  "boolValue": boolean,
  "numberValue": number
  // End of list of possible types for union field vehicle_attribute_value.
}
欄位
key

string

屬性鍵。索引鍵不得包含冒號字元 (:)。

value

string

屬性值。

聯集欄位 vehicle_attribute_value。屬性值可以是字串、布林值或雙精度浮點數。vehicle_attribute_value 只能是下列其中一項:
stringValue

string

字串類型的屬性值。

注意:這與最終會淘汰的 value 欄位相同。如要使用建立或更新方法,可以使用任一欄位,但強烈建議使用 stringValue。如果 stringValuevalue 皆已設定,兩者必須相同,否則系統會擲回錯誤。這兩個欄位都會填入回應。

boolValue

boolean

布林型屬性值。

numberValue

number

雙重輸入的屬性值。

VehicleType

車輛類型。

JSON 表示法
{
  "category": enum (Category)
}
欄位
category

enum (Category)

交通工具類型類別

類別

交通工具類型類別

列舉
UNKNOWN 預設值,用於未指定或未識別的車輛類別。
AUTO 汽車。
TAXI 任何做為計程車的車輛 (通常是執照或管制車輛)。
TRUCK 通常也是儲存空間容量大的車輛。
TWO_WHEELER 摩托車、電動車或其他機車
BICYCLE 人力運輸。
PEDESTRIAN 人類運輸工具,通常是步行或跑步,沿著行人道移動。

LicensePlate

車輛的車牌資訊。為避免儲存個人識別資訊,實體中只會儲存車牌的必要資訊。

JSON 表示法
{
  "countryCode": string,
  "lastCharacter": string
}
欄位
countryCode

string

必要欄位。CLDR 國家/地區代碼。例如 US 代表美國,IN 代表印度。

lastCharacter

string

車牌的最後一個號碼或「-1」,表示車牌中沒有數字值。

  • "ABC 1234" -> "4"
  • 「AB 123 CD」->「3」
  • 「ABCDEF」->「-1」

TrafficPolylineData

預期車輛路線沿途的路況。

JSON 表示法
{
  "trafficRendering": {
    object (VisualTrafficReportPolylineRendering)
  }
}
欄位
trafficRendering

object (VisualTrafficReportPolylineRendering)

顯示顧客在一段期間內,所有區域的車速有多快的折線。

VisualTrafficReportPolylineRendering

說明用戶端應如何為沿途折線的一部分加上顏色。

JSON 表示法
{
  "roadStretch": [
    {
      object (RoadStretch)
    }
  ]
}
欄位
roadStretch[]

object (RoadStretch)

選用設定。應沿著折線算繪的道路延伸。系統會保證不重疊區塊,但不一定會跨越整個路線。

如果沒有道路延展型,用戶端應套用路線的預設值。

RoadStretch

應算繪的路段。

JSON 表示法
{
  "style": enum (Style),
  "offsetMeters": integer,
  "lengthMeters": integer
}
欄位
style

enum (Style)

必要欄位。要套用的樣式。

offsetMeters

integer

必要欄位。樣式應套用至 [offsetMeters, offsetMeters + lengthMeters) 之間。

lengthMeters

integer

必要欄位。要套用樣式的路徑長度。

樣式

路況樣式,用於顯示路況速度。

列舉
STYLE_UNSPECIFIED 未選取任何樣式。
SLOWER_TRAFFIC 車流量正在減緩。
TRAFFIC_JAM 交通壅塞。

DeviceSettings

行動裝置上的各種設定資訊。

JSON 表示法
{
  "locationPowerSaveMode": enum (LocationPowerSaveMode),
  "isPowerSaveMode": boolean,
  "isInteractive": boolean,
  "batteryInfo": {
    object (BatteryInfo)
  }
}
欄位
locationPowerSaveMode

enum (LocationPowerSaveMode)

省電模式開啟時,裝置上的位置功能設定的運作方式。

isPowerSaveMode

boolean

裝置目前是否處於省電模式。

isInteractive

boolean

裝置是否處於互動狀態。

batteryInfo

object (BatteryInfo)

電池狀態相關資訊。

LocationPowerSaveMode

當行動裝置開啟「省電模式」功能時,如何設定位置功能的行為。(https://developer.android.com/reference/android/os/PowerManager#getLocationPowerSaveMode())

列舉
UNKNOWN_LOCATION_POWER_SAVE_MODE Undefined LocationPowerSaveMode
LOCATION_MODE_NO_CHANGE 省電模式或省電模式處於關閉狀態,應該不會影響位置服務供應商。
LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF 當省電模式開啟且裝置未進行互動時,應停用 GPS 定位資訊提供者。
LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF 當省電模式開啟且裝置未進行互動時,所有位置服務供應商都應該停用。
LOCATION_MODE_FOREGROUND_ONLY 系統會保留所有位置供應程式,但位置修正功能只應針對前景應用程式提供。
LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF 系統不會關閉定位功能,但 LocationManager 會在裝置處於非互動狀態時,限制對供應商的所有要求。

BatteryInfo

裝置電池的相關資訊。

JSON 表示法
{
  "batteryStatus": enum (BatteryStatus),
  "powerSource": enum (PowerSource),
  "batteryPercentage": number
}
欄位
batteryStatus

enum (BatteryStatus)

電池狀態 (充飽電或正在充電等)

powerSource

enum (PowerSource)

電池電源的狀態。

batteryPercentage

number

目前電量百分比 [0-100]。

BatteryStatus

電池狀態 (充飽電或正在充電等)

列舉
UNKNOWN_BATTERY_STATUS 電池狀態不明。
BATTERY_STATUS_CHARGING 電池正在充電。
BATTERY_STATUS_DISCHARGING 電池正在充電。
BATTERY_STATUS_FULL 電池電量已滿。
BATTERY_STATUS_NOT_CHARGING 電池無法充電。
BATTERY_STATUS_POWER_LOW 電池電量不足。

PowerSource

用於為電池充電的充電器類型。

列舉
UNKNOWN_POWER_SOURCE 電源不明。
POWER_SOURCE_AC 電源是 AC 充電器。
POWER_SOURCE_USB 電源是 USB 連接埠。
POWER_SOURCE_WIRELESS 電源為無線。
POWER_SOURCE_UNPLUGGED 電池已拔除。

方法

create

將與隨選共乘或外送服務供應商相關的新車輛例項化。

get

從 Fleet Engine 傳回車輛。

list

傳回與要求選項相符之供應商相關聯的分頁清單。
傳回與要求選項相符的車輛清單。

update

將更新後的車輛資料寫入 Fleet Engine。

updateAttributes

部分更新車輛屬性。