Araç konumunu güncelleme

Fleet Engine ile en iyi performansı elde etmek için Fleet Engine'e bir araç akışı sağlayın Konum güncellemeleri. Bu güncellemeleri sağlamak için aşağıdaki yöntemlerden birini kullanın:

  1. Sürücü SDK'sını kullanma: En basit seçenektir. Sürücü SDK'sı dokümanlarını göster Android veya iOS için.
  2. Özel kod kullan: Konumların hesabınız üzerinden geçişi veya Android ya da iOS dışında cihazlar kullanıyorsanız. Bu kılavuzdaki konular düşünmesi gerekir.

Aracın konumunu güncellemek için Sürücü SDK'sını kullanmıyorsanız bir Fleet Engine'e aracın konumuyla birlikte doğrudan çağrı. Tüm etkin araçlarda Fleet Engine, en az dakikada bir, en çok dakikada bir konum güncellemesi bekler 5 saniyede bir. Bu güncellemeler için yalnızca Fleet Engine Sürücü SDK Kullanıcısı gereklidir ayrıcalıkları.

Araç konumunu güncelleme örneği

Java

static final String PROJECT_ID = "project-id";
static final String VEHICLE_ID = "vid-8241890";

VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);

String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;
Vehicle updatedVehicle = Vehicle.newBuilder()
    .setLastLocation(VehicleLocation.newBuilder()
        .setSupplementalLocation(LatLng.newBuilder()
            .setLatitude(37.3382)
            .setLongitude(121.8863))
        .setSupplementalLocationTime(now())
        .setSupplementalLocationSensor(LocationSensor.CUSTOMER_SUPPLIED_LOCATION)
        .setSupplementalLocationAccuracy(DoubleValue.of(15.0)))  // Optional
    .build();

UpdateVehicleRequest updateVehicleRequest = UpdateVehicleRequest.newBuilder()
    .setName(vehicleName)
    .setVehicle(updatedVehicle)
    .setUpdateMask(FieldMask.newBuilder()
        .addPaths("last_location"))
    .build();

try {
  Vehicle updatedVehicle =
      vehicleService.updateVehicle(updateVehicleRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case NOT_FOUND:
      // Most implementations will call CreateVehicle in this case
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}
// If no Exception, Vehicle updated successfully.

REST

curl -X PUT \
  "https://fleetengine.googleapis.com/v1/providers/project-id/vehicles/vid-8241890?updateMask=last_location" \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  --data-binary @- << EOM
{
    "supplementalLocation": {"latitude": 12.1, "longitude": 14.5},
    "supplementalLocationTime": "$(date -u --iso-8601=seconds)",
    "supplementalLocationSensor": "CUSTOMER_SUPPLIED_LOCATION",
    "supplementalLocationAccuracy": 15
}
EOM

providers.vehicles.update referansını inceleyin.

Sırada ne var?