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 中傳回。

注意:這個欄位僅供驅動程式 SDK 使用。目前不支援解碼。

currentRouteSegmentTraffic

object (TrafficPolylineData)

僅限輸入。Fleet Engine 會使用這項資訊改善旅程分享體驗。注意:這個欄位僅供驅動程式 SDK 使用。

currentRouteSegmentVersion

string (Timestamp format)

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

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"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」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"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」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"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 未定義的 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

部分更新車輛屬性。