تعديل الموقع الجغرافي للمركبة

للحصول على أفضل أداء باستخدام Fleet Engine، ننصحك بتوفير مجموعة من المركبات. تحديثات الموقع الجغرافي. استخدِم إحدى الطريقتَين التاليتَين لتقديم هذه التعديلات:

  1. استخدام Driver SDK: الخيار الأبسط. اطّلِع على مستندات حزمة تطوير برامج (SDK) لبرنامج Driver SDK لنظامَي التشغيل Android أو iOS.
  2. استخدام رمز مخصّص: يكون مفيدًا إذا كان يتم ترحيل المواقع الجغرافية من خلال الخلفية، أو إذا كنت تستخدم أجهزة أخرى غير Android أو iOS. يشمل هذا الدليل هذا النهج.

إذا لم تكن تستخدم "حزمة تطوير البرامج (SDK) للسائق" لتعديل الموقع الجغرافي للمركبة، يمكنك إنشاء مباشرة إلى Fleet Engine مع موقع المركبة. لأي مركبة نشطة يتوقع Fleet Engine تحديث الموقع مرة واحدة على الأقل كل دقيقة مرة كل 5 ثوانٍ. لا تتطلّب هذه التعديلات سوى امتيازات مستخدم حزمة تطوير البرامج (SDK) لبرنامج Fleet Engine Driver .

تعديل مثال الموقع الجغرافي للمركبة

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.

الخطوات التالية