1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage maps.fleetengine.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/maps/fleetengine/v1/traffic.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/wrappers.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/type/latlng.proto"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Maps.FleetEngine.V1"; 27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/maps/fleetengine/apiv1/fleetenginepb;fleetenginepb"; 28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "FleetEngine"; 30*d5c09012SAndroid Build Coastguard Workeroption java_package = "google.maps.fleetengine.v1"; 31*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "CFE"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// Identifies a terminal point. 34*d5c09012SAndroid Build Coastguard Workermessage TerminalPointId { 35*d5c09012SAndroid Build Coastguard Worker // Deprecated. 36*d5c09012SAndroid Build Coastguard Worker oneof Id { 37*d5c09012SAndroid Build Coastguard Worker // Deprecated. 38*d5c09012SAndroid Build Coastguard Worker string place_id = 2 [deprecated = true]; 39*d5c09012SAndroid Build Coastguard Worker 40*d5c09012SAndroid Build Coastguard Worker // Deprecated. 41*d5c09012SAndroid Build Coastguard Worker string generated_id = 3 [deprecated = true]; 42*d5c09012SAndroid Build Coastguard Worker } 43*d5c09012SAndroid Build Coastguard Worker 44*d5c09012SAndroid Build Coastguard Worker // Unique ID of the terminal point. 45*d5c09012SAndroid Build Coastguard Worker string value = 4; 46*d5c09012SAndroid Build Coastguard Worker} 47*d5c09012SAndroid Build Coastguard Worker 48*d5c09012SAndroid Build Coastguard Worker// Describes the location of a waypoint. 49*d5c09012SAndroid Build Coastguard Workermessage TerminalLocation { 50*d5c09012SAndroid Build Coastguard Worker // Required. Denotes the location of a trip waypoint. 51*d5c09012SAndroid Build Coastguard Worker google.type.LatLng point = 1 [(google.api.field_behavior) = REQUIRED]; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // ID of the terminal point. 54*d5c09012SAndroid Build Coastguard Worker TerminalPointId terminal_point_id = 2; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // Deprecated. 57*d5c09012SAndroid Build Coastguard Worker string access_point_id = 3 [deprecated = true]; 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // Deprecated. 60*d5c09012SAndroid Build Coastguard Worker string trip_id = 4 [deprecated = true]; 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker // Deprecated: `Vehicle.waypoint` will have this data. 63*d5c09012SAndroid Build Coastguard Worker WaypointType terminal_location_type = 5 [deprecated = true]; 64*d5c09012SAndroid Build Coastguard Worker} 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker// Describes a stopping point on a vehicle's route or an ending point on a 67*d5c09012SAndroid Build Coastguard Worker// vehicle's trip. 68*d5c09012SAndroid Build Coastguard Workermessage TripWaypoint { 69*d5c09012SAndroid Build Coastguard Worker // The location of this waypoint. 70*d5c09012SAndroid Build Coastguard Worker TerminalLocation location = 1; 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // The trip associated with this waypoint. 73*d5c09012SAndroid Build Coastguard Worker string trip_id = 2; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // The role this waypoint plays in this trip, such as pickup or dropoff. 76*d5c09012SAndroid Build Coastguard Worker WaypointType waypoint_type = 3; 77*d5c09012SAndroid Build Coastguard Worker 78*d5c09012SAndroid Build Coastguard Worker // The path from the previous waypoint to the current waypoint. Undefined for 79*d5c09012SAndroid Build Coastguard Worker // the first waypoint in a list. This field is only populated when requested. 80*d5c09012SAndroid Build Coastguard Worker repeated google.type.LatLng path_to_waypoint = 4; 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // The encoded path from the previous waypoint to the current waypoint. 83*d5c09012SAndroid Build Coastguard Worker // 84*d5c09012SAndroid Build Coastguard Worker // <p>Note: This field is intended only for use by the Driver SDK and Consumer 85*d5c09012SAndroid Build Coastguard Worker // SDK. Decoding is not yet supported. 86*d5c09012SAndroid Build Coastguard Worker string encoded_path_to_waypoint = 5; 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // The traffic conditions along the path to this waypoint. Note that traffic 89*d5c09012SAndroid Build Coastguard Worker // is only available for Google Map Platform Rides and Deliveries Solution 90*d5c09012SAndroid Build Coastguard Worker // customers. 91*d5c09012SAndroid Build Coastguard Worker ConsumableTrafficPolyline traffic_to_waypoint = 10; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // The path distance from the previous waypoint to the current waypoint. 94*d5c09012SAndroid Build Coastguard Worker // Undefined for the first waypoint in a list. 95*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int32Value distance_meters = 6; 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker // The estimated time of arrival at this waypoint. Undefined for the first 98*d5c09012SAndroid Build Coastguard Worker // waypoint in a list. 99*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp eta = 7; 100*d5c09012SAndroid Build Coastguard Worker 101*d5c09012SAndroid Build Coastguard Worker // The travel time from previous waypoint to this point. Undefined for the 102*d5c09012SAndroid Build Coastguard Worker // first waypoint in a list. 103*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration duration = 8; 104*d5c09012SAndroid Build Coastguard Worker} 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker// The type of a trip. 107*d5c09012SAndroid Build Coastguard Workerenum TripType { 108*d5c09012SAndroid Build Coastguard Worker // Default, used for unspecified or unrecognized trip types. 109*d5c09012SAndroid Build Coastguard Worker UNKNOWN_TRIP_TYPE = 0; 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // The trip may share a vehicle with other trips. 112*d5c09012SAndroid Build Coastguard Worker SHARED = 1; 113*d5c09012SAndroid Build Coastguard Worker 114*d5c09012SAndroid Build Coastguard Worker // The trip is exclusive to a vehicle. 115*d5c09012SAndroid Build Coastguard Worker EXCLUSIVE = 2; 116*d5c09012SAndroid Build Coastguard Worker} 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker// The type of waypoint. 119*d5c09012SAndroid Build Coastguard Workerenum WaypointType { 120*d5c09012SAndroid Build Coastguard Worker // Unknown or unspecified waypoint type. 121*d5c09012SAndroid Build Coastguard Worker UNKNOWN_WAYPOINT_TYPE = 0; 122*d5c09012SAndroid Build Coastguard Worker 123*d5c09012SAndroid Build Coastguard Worker // Waypoints for picking up riders or items. 124*d5c09012SAndroid Build Coastguard Worker PICKUP_WAYPOINT_TYPE = 1; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Waypoints for dropping off riders or items. 127*d5c09012SAndroid Build Coastguard Worker DROP_OFF_WAYPOINT_TYPE = 2; 128*d5c09012SAndroid Build Coastguard Worker 129*d5c09012SAndroid Build Coastguard Worker // Waypoints for intermediate destinations in a multi-destination trip. 130*d5c09012SAndroid Build Coastguard Worker INTERMEDIATE_DESTINATION_WAYPOINT_TYPE = 3; 131*d5c09012SAndroid Build Coastguard Worker} 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker// The type of polyline format. 134*d5c09012SAndroid Build Coastguard Workerenum PolylineFormatType { 135*d5c09012SAndroid Build Coastguard Worker // The format is unspecified or unknown. 136*d5c09012SAndroid Build Coastguard Worker UNKNOWN_FORMAT_TYPE = 0; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // A list of `google.type.LatLng`. 139*d5c09012SAndroid Build Coastguard Worker LAT_LNG_LIST_TYPE = 1; 140*d5c09012SAndroid Build Coastguard Worker 141*d5c09012SAndroid Build Coastguard Worker // A polyline encoded with a polyline compression algorithm. Decoding is not 142*d5c09012SAndroid Build Coastguard Worker // yet supported. 143*d5c09012SAndroid Build Coastguard Worker ENCODED_POLYLINE_TYPE = 2; 144*d5c09012SAndroid Build Coastguard Worker} 145*d5c09012SAndroid Build Coastguard Worker 146*d5c09012SAndroid Build Coastguard Worker// The vehicle's navigation status. 147*d5c09012SAndroid Build Coastguard Workerenum NavigationStatus { 148*d5c09012SAndroid Build Coastguard Worker // Unspecified navigation status. 149*d5c09012SAndroid Build Coastguard Worker UNKNOWN_NAVIGATION_STATUS = 0; 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // The Driver app's navigation is in `FREE_NAV` mode. 152*d5c09012SAndroid Build Coastguard Worker NO_GUIDANCE = 1; 153*d5c09012SAndroid Build Coastguard Worker 154*d5c09012SAndroid Build Coastguard Worker // Turn-by-turn navigation is available and the Driver app navigation has 155*d5c09012SAndroid Build Coastguard Worker // entered `GUIDED_NAV` mode. 156*d5c09012SAndroid Build Coastguard Worker ENROUTE_TO_DESTINATION = 2; 157*d5c09012SAndroid Build Coastguard Worker 158*d5c09012SAndroid Build Coastguard Worker // The vehicle has gone off the suggested route. 159*d5c09012SAndroid Build Coastguard Worker OFF_ROUTE = 3; 160*d5c09012SAndroid Build Coastguard Worker 161*d5c09012SAndroid Build Coastguard Worker // The vehicle is within approximately 50m of the destination. 162*d5c09012SAndroid Build Coastguard Worker ARRIVED_AT_DESTINATION = 4; 163*d5c09012SAndroid Build Coastguard Worker} 164*d5c09012SAndroid Build Coastguard Worker 165*d5c09012SAndroid Build Coastguard Worker// Describes a vehicle attribute as a key-value pair. The "key:value" string 166*d5c09012SAndroid Build Coastguard Worker// length cannot exceed 256 characters. 167*d5c09012SAndroid Build Coastguard Workermessage VehicleAttribute { 168*d5c09012SAndroid Build Coastguard Worker // The attribute's key. Keys may not contain the colon character (:). 169*d5c09012SAndroid Build Coastguard Worker string key = 1; 170*d5c09012SAndroid Build Coastguard Worker 171*d5c09012SAndroid Build Coastguard Worker // The attribute's value. 172*d5c09012SAndroid Build Coastguard Worker string value = 2; 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker // The attribute's value, can be in string, bool, or double type. 175*d5c09012SAndroid Build Coastguard Worker oneof vehicle_attribute_value { 176*d5c09012SAndroid Build Coastguard Worker // String typed attribute value. 177*d5c09012SAndroid Build Coastguard Worker // 178*d5c09012SAndroid Build Coastguard Worker // Note: This is identical to the `value` field which will eventually be 179*d5c09012SAndroid Build Coastguard Worker // deprecated. For create or update methods, either field can be used, but 180*d5c09012SAndroid Build Coastguard Worker // it's strongly recommended to use `string_value`. If both `string_value` 181*d5c09012SAndroid Build Coastguard Worker // and `value` are set, they must be identical or an error will be thrown. 182*d5c09012SAndroid Build Coastguard Worker // Both fields are populated in responses. 183*d5c09012SAndroid Build Coastguard Worker string string_value = 3; 184*d5c09012SAndroid Build Coastguard Worker 185*d5c09012SAndroid Build Coastguard Worker // Boolean typed attribute value. 186*d5c09012SAndroid Build Coastguard Worker bool bool_value = 4; 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // Double typed attribute value. 189*d5c09012SAndroid Build Coastguard Worker double number_value = 5; 190*d5c09012SAndroid Build Coastguard Worker } 191*d5c09012SAndroid Build Coastguard Worker} 192*d5c09012SAndroid Build Coastguard Worker 193*d5c09012SAndroid Build Coastguard Worker// The location, speed, and heading of a vehicle at a point in time. 194*d5c09012SAndroid Build Coastguard Workermessage VehicleLocation { 195*d5c09012SAndroid Build Coastguard Worker // The location of the vehicle. 196*d5c09012SAndroid Build Coastguard Worker // When it is sent to Fleet Engine, the vehicle's location is a GPS location. 197*d5c09012SAndroid Build Coastguard Worker // When you receive it in a response, the vehicle's location can be either a 198*d5c09012SAndroid Build Coastguard Worker // GPS location, a supplemental location, or some other estimated location. 199*d5c09012SAndroid Build Coastguard Worker // The source is specified in `location_sensor`. 200*d5c09012SAndroid Build Coastguard Worker google.type.LatLng location = 1; 201*d5c09012SAndroid Build Coastguard Worker 202*d5c09012SAndroid Build Coastguard Worker // Deprecated: Use `latlng_accuracy` instead. 203*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue horizontal_accuracy = 8 [deprecated = true]; 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker // Accuracy of `location` in meters as a radius. 206*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue latlng_accuracy = 22; 207*d5c09012SAndroid Build Coastguard Worker 208*d5c09012SAndroid Build Coastguard Worker // Direction the vehicle is moving in degrees. 0 represents North. 209*d5c09012SAndroid Build Coastguard Worker // The valid range is [0,360). 210*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int32Value heading = 2; 211*d5c09012SAndroid Build Coastguard Worker 212*d5c09012SAndroid Build Coastguard Worker // Deprecated: Use `heading_accuracy` instead. 213*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue bearing_accuracy = 10 [deprecated = true]; 214*d5c09012SAndroid Build Coastguard Worker 215*d5c09012SAndroid Build Coastguard Worker // Accuracy of `heading` in degrees. 216*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue heading_accuracy = 23; 217*d5c09012SAndroid Build Coastguard Worker 218*d5c09012SAndroid Build Coastguard Worker // Altitude in meters above WGS84. 219*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue altitude = 5; 220*d5c09012SAndroid Build Coastguard Worker 221*d5c09012SAndroid Build Coastguard Worker // Deprecated: Use `altitude_accuracy` instead. 222*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue vertical_accuracy = 9 [deprecated = true]; 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // Accuracy of `altitude` in meters. 225*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue altitude_accuracy = 24; 226*d5c09012SAndroid Build Coastguard Worker 227*d5c09012SAndroid Build Coastguard Worker // Speed of the vehicle in kilometers per hour. 228*d5c09012SAndroid Build Coastguard Worker // Deprecated: Use `speed` instead. 229*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int32Value speed_kmph = 3 [deprecated = true]; 230*d5c09012SAndroid Build Coastguard Worker 231*d5c09012SAndroid Build Coastguard Worker // Speed of the vehicle in meters/second 232*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue speed = 6; 233*d5c09012SAndroid Build Coastguard Worker 234*d5c09012SAndroid Build Coastguard Worker // Accuracy of `speed` in meters/second. 235*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue speed_accuracy = 7; 236*d5c09012SAndroid Build Coastguard Worker 237*d5c09012SAndroid Build Coastguard Worker // The time when `location` was reported by the sensor according to the 238*d5c09012SAndroid Build Coastguard Worker // sensor's clock. 239*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 4; 240*d5c09012SAndroid Build Coastguard Worker 241*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the server received the location information. 242*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp server_time = 13 243*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 244*d5c09012SAndroid Build Coastguard Worker 245*d5c09012SAndroid Build Coastguard Worker // Provider of location data (for example, `GPS`). 246*d5c09012SAndroid Build Coastguard Worker LocationSensor location_sensor = 11; 247*d5c09012SAndroid Build Coastguard Worker 248*d5c09012SAndroid Build Coastguard Worker // Whether `location` is snapped to a road. 249*d5c09012SAndroid Build Coastguard Worker google.protobuf.BoolValue is_road_snapped = 27; 250*d5c09012SAndroid Build Coastguard Worker 251*d5c09012SAndroid Build Coastguard Worker // Input only. Indicates whether the GPS sensor is enabled on the mobile 252*d5c09012SAndroid Build Coastguard Worker // device. 253*d5c09012SAndroid Build Coastguard Worker google.protobuf.BoolValue is_gps_sensor_enabled = 12 254*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = INPUT_ONLY]; 255*d5c09012SAndroid Build Coastguard Worker 256*d5c09012SAndroid Build Coastguard Worker // Input only. Time (in seconds) since this location was first sent to the 257*d5c09012SAndroid Build Coastguard Worker // server. This will be zero for the first update. If the time is unknown (for 258*d5c09012SAndroid Build Coastguard Worker // example, when the app restarts), this value resets to zero. 259*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int32Value time_since_update = 14 260*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = INPUT_ONLY]; 261*d5c09012SAndroid Build Coastguard Worker 262*d5c09012SAndroid Build Coastguard Worker // Input only. Deprecated: Other signals are now used to determine if a 263*d5c09012SAndroid Build Coastguard Worker // location is stale. 264*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int32Value num_stale_updates = 15 265*d5c09012SAndroid Build Coastguard Worker [deprecated = true, (google.api.field_behavior) = INPUT_ONLY]; 266*d5c09012SAndroid Build Coastguard Worker 267*d5c09012SAndroid Build Coastguard Worker // Raw vehicle location (unprocessed by road-snapper). 268*d5c09012SAndroid Build Coastguard Worker google.type.LatLng raw_location = 16; 269*d5c09012SAndroid Build Coastguard Worker 270*d5c09012SAndroid Build Coastguard Worker // Timestamp associated with the raw location. 271*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp raw_location_time = 17; 272*d5c09012SAndroid Build Coastguard Worker 273*d5c09012SAndroid Build Coastguard Worker // Source of the raw location. Defaults to `GPS`. 274*d5c09012SAndroid Build Coastguard Worker LocationSensor raw_location_sensor = 28; 275*d5c09012SAndroid Build Coastguard Worker 276*d5c09012SAndroid Build Coastguard Worker // Accuracy of `raw_location` as a radius, in meters. 277*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue raw_location_accuracy = 25; 278*d5c09012SAndroid Build Coastguard Worker 279*d5c09012SAndroid Build Coastguard Worker // Supplemental location provided by the integrating app. 280*d5c09012SAndroid Build Coastguard Worker google.type.LatLng supplemental_location = 18; 281*d5c09012SAndroid Build Coastguard Worker 282*d5c09012SAndroid Build Coastguard Worker // Timestamp associated with the supplemental location. 283*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp supplemental_location_time = 19; 284*d5c09012SAndroid Build Coastguard Worker 285*d5c09012SAndroid Build Coastguard Worker // Source of the supplemental location. Defaults to 286*d5c09012SAndroid Build Coastguard Worker // `CUSTOMER_SUPPLIED_LOCATION`. 287*d5c09012SAndroid Build Coastguard Worker LocationSensor supplemental_location_sensor = 20; 288*d5c09012SAndroid Build Coastguard Worker 289*d5c09012SAndroid Build Coastguard Worker // Accuracy of `supplemental_location` as a radius, in meters. 290*d5c09012SAndroid Build Coastguard Worker google.protobuf.DoubleValue supplemental_location_accuracy = 21; 291*d5c09012SAndroid Build Coastguard Worker 292*d5c09012SAndroid Build Coastguard Worker // Deprecated: Use `is_road_snapped` instead. 293*d5c09012SAndroid Build Coastguard Worker bool road_snapped = 26 [deprecated = true]; 294*d5c09012SAndroid Build Coastguard Worker} 295*d5c09012SAndroid Build Coastguard Worker 296*d5c09012SAndroid Build Coastguard Worker// The sensor or methodology used to determine the location. 297*d5c09012SAndroid Build Coastguard Workerenum LocationSensor { 298*d5c09012SAndroid Build Coastguard Worker // The sensor is unspecified or unknown. 299*d5c09012SAndroid Build Coastguard Worker UNKNOWN_SENSOR = 0; 300*d5c09012SAndroid Build Coastguard Worker 301*d5c09012SAndroid Build Coastguard Worker // GPS or Assisted GPS. 302*d5c09012SAndroid Build Coastguard Worker GPS = 1; 303*d5c09012SAndroid Build Coastguard Worker 304*d5c09012SAndroid Build Coastguard Worker // Assisted GPS, cell tower ID, or WiFi access point. 305*d5c09012SAndroid Build Coastguard Worker NETWORK = 2; 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // Cell tower ID or WiFi access point. 308*d5c09012SAndroid Build Coastguard Worker PASSIVE = 3; 309*d5c09012SAndroid Build Coastguard Worker 310*d5c09012SAndroid Build Coastguard Worker // A location determined by the mobile device to be the most likely 311*d5c09012SAndroid Build Coastguard Worker // road position. 312*d5c09012SAndroid Build Coastguard Worker ROAD_SNAPPED_LOCATION_PROVIDER = 4; 313*d5c09012SAndroid Build Coastguard Worker 314*d5c09012SAndroid Build Coastguard Worker // A customer-supplied location from an independent source. Typically, this 315*d5c09012SAndroid Build Coastguard Worker // value is used for a location provided from sources other than the mobile 316*d5c09012SAndroid Build Coastguard Worker // device running Driver SDK. If the original source is described by one of 317*d5c09012SAndroid Build Coastguard Worker // the other enum values, use that value. Locations marked 318*d5c09012SAndroid Build Coastguard Worker // CUSTOMER_SUPPLIED_LOCATION are typically provided via a Vehicle's 319*d5c09012SAndroid Build Coastguard Worker // `last_location.supplemental_location_sensor`. 320*d5c09012SAndroid Build Coastguard Worker CUSTOMER_SUPPLIED_LOCATION = 5; 321*d5c09012SAndroid Build Coastguard Worker 322*d5c09012SAndroid Build Coastguard Worker // A location calculated by Fleet Engine based on the signals available to it. 323*d5c09012SAndroid Build Coastguard Worker // Output only. This value will be rejected if it is received in a request. 324*d5c09012SAndroid Build Coastguard Worker FLEET_ENGINE_LOCATION = 6; 325*d5c09012SAndroid Build Coastguard Worker 326*d5c09012SAndroid Build Coastguard Worker // Android's Fused Location Provider. 327*d5c09012SAndroid Build Coastguard Worker FUSED_LOCATION_PROVIDER = 100; 328*d5c09012SAndroid Build Coastguard Worker 329*d5c09012SAndroid Build Coastguard Worker // The location provider on Apple operating systems. 330*d5c09012SAndroid Build Coastguard Worker CORE_LOCATION = 200; 331*d5c09012SAndroid Build Coastguard Worker} 332