יצירת נסיעה עם יעד יחיד

במסמך הזה מתואר איך ליצור נסיעה אחת ליעד, להגדיר את היעד הנכון שדות, ולהקצות אותו לרכב למילוי. ההנחה היא שהגדרת את Fleet מנוע חיפוש ושיצרת כלי רכב, אפליקציה תקינה לנהג (אופציונלי) אפליקציה לצרכן. תוכלו להיעזר במדריכים הבאים שקשורים לנושא:

מידע בסיסי על יצירת נסיעה

בקטע הזה מתוארים פרטי הבקשה שדרושים ליצירת נסיעה ב: מנוע Fleet. יוצרים בקשת יצירה באמצעות gRPC ו-REST.

  • שיטת CreateTrip(): gRPC או REST
  • הודעה אחת (CreateTripRequest): ב-gRPC בלבד

שדות של נסיעות

צריך להשתמש בשדות הבאים כדי ליצור נסיעה ב-Fleet Engine. אפשר להשתמש לסוגים השונים של הנסיעות: יעד אחד או יעד מרובה, גב אל גב, או נסיעות קבוצתיות משותפות. שלך יכול לספק את השדות האופציונליים כשיוצרים את הנסיעה, או להגדיר אותם מאוחר יותר כשתעדכנו את הנסיעה.

שדות נסיעה
שם נדרש? תיאור
הורה כן מחרוזת שכוללת את מזהה הפרויקט. המזהה הזה צריך להיות זהה למזהה שבו אתם משתמשים בכל השילוב של Fleet Engine, עם אותם תפקידים בחשבון השירות.
trip_id כן מחרוזת שיצרתם שמאפשרת לזהות את הנסיעה באופן ייחודי. למזהי נסיעות יש הגבלות מסוימות, כפי שמצוין במסמך העזרה.
trip_type כן מגדירים את TripType לערכים הבאים בהתאם לסוג הנסיעה שיוצרים:
  • יעד יחיד: צריך להגדיר את הערך SHARED או EXCLUSIVE.
  • ריבוי יעדים: מגדירים את הערך EXCLUSIVE.
  • Back-to-back: מגדירים לערך EXCLUSIVE.
  • מאגר משותף: צריך להגדיר את הערך SHARED.
pickup_point כן נקודת המוצא של הנסיעה.
יעדי ביניים כן

נסיעות מרובות יעדים בלבד: רשימת יעדי הביניים שהנהג מבקר בהם ביניהם של איסוף ומסירה. בדומה ל-dropoff_point, השדה הזה אפשר להגדיר מאוחר יותר קריאה למספר UpdateTrip, אבל עם יעדים מרובים הנסיעה לפי הגדרתה מכילה יעדי ביניים.

vehicle_waypoints כן

נסיעות במאגר משותף בלבד: השדה הזה תומך בשילוב של ציוני הדרך מכמה נסיעות. היא מכילה את כל ציוני הדרך שנותרו בכלי הרכב, וגם בתור נקודות הדרך לאיסוף ולהורדה בנסיעה הזו. אפשר להגדיר את השדה הזה על-ידי קריאה ל-CreateTrip או ל-UpdateTrip. אפשר גם לעדכן את ציוני הדרך של הרכבים דרך השדה waypoints עם קריאה אל UpdateVehicle. השירות לא מחזיר את המידע הזה בשיחות של GetTrip מטעמי פרטיות.

number_of_passengers לא מספר הנוסעים בנסיעה.
dropoff_point לא יעד הנסיעה.
vehicle_id לא המזהה של הרכב שהוקצה לנסיעה.

דוגמה: טיול ביעד אחד

הדוגמה הבאה ממחישה איך יוצרים נסיעה אל Grand Indonesia East Mall. בנסיעה משתתפים שני נוסעים, היא בלעדית והסטטוס שלה הוא NEW provider_id של הנסיעה חייב להיות זהה לזה של Google Cloud מזהה הפרויקט. בדוגמאות מוצג פרויקט ב-Google Cloud עם מזהה הפרויקט my-rideshare-co-gcp-project. הפרויקט הזה חייב לכלול גם חשבון שירות כדי לקרוא ל-Fleet Engine. למידע נוסף, ראו תפקידי חשבון שירות.

static final String PROJECT_ID = "my-rideshare-co-gcp-project";

TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);

// Trip initial settings.
String parent = "providers/" + PROJECT_ID;

Trip trip = Trip.newBuilder()
    .setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
    .setPickupPoint(                 // Grand Indonesia East Mall.
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.195139).setLongitude(106.820826)))
    .setNumberOfPassengers(2)
    // Provide the drop-off point if available.
    .setDropoffPoint(
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.1275).setLongitude(106.6537)))
    .build();

// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
    .setParent(parent)
    .setTripId("trip-8241890")  // Trip ID assigned by the provider.
    .setTrip(trip)              // The initial state is NEW.
    .build();

// Error handling.
try {
  Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case ALREADY_EXISTS:
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

המאמרים הבאים