העברה לפרטי מקום (חדש)

Places SDK ל-iOS תומך פרטי מקום. אם אתם מכירים את Places SDK הקיים ל-iOS, גרסה חדשה של 'פרטי מקום' מבצע את השינויים הבאים:

  • משתמש במודל תמחור חדש. מידע על התמחור של כל ממשקי ה-API זמין בכתובת תמחור של Places SDK ל-iOS (חדש).

  • צריך לבצע אנונימיזציה של השדות. עליך לציין אילו שדות ברצונך להחזיר בתשובה. אין רשימת ברירת מחדל של השדות שהוחזרו. אם משמיטים הרשימה הזו, השיטות מחזירות שגיאה.

  • כדי לשלוח בקשה, צריך להפעיל את GMSPlacesClient fetchPlaceWithRequest: .

  • מעבירים את הבקשה:

    • מופע של GMSFetchPlaceRequest שמגדיר את כל הפרמטרים של הבקשה, כמו מזהה מקום. אסימון סשן.

    • קריאה חוזרת (callback) מסוג GMSPlaceResultCallback כדי לטפל בתגובה.

  • התשובה מכילה GMSPlace מופע שמכיל פרטים על המקום. הערכים ברכיב types של המכונה GMSPlace מוגדר עכשיו לפי טבלה א' וגם טבלה ב'.

  • המופע של התשובה GMSPlace מכיל את הערך החדש reviews מאפיין מסוג GMSPlaceReview. מתי באפליקציה מוצג מידע שהתקבל מ-GMSPlace כמו תמונות וביקורות, האפליקציה חייבת להציג גם את שלהם.

    למידע נוסף, עיינו במשאבי העזרה בנושא שיוכים.

  • המופע של התגובה GMSPlace מכיל את פונקציות החברוּת הבאות:

    • isOpen הפונקציה קובעת אם המקום פתוח בזמן נתון.

    • isOpenAtDate הפונקציה קובעת אם מקום מסוים פתוח בתאריך מסוים.

    הפונקציות האלה זמינות רק אם מפעילים Places SDK ל-iOS. הם לא זמינים כאשר מפעילים את האפשרות Places SDK for iOS (New). לקבלת מידע נוסף, אפשר לעיין במאמר בחירת גרסת ה-SDK.

דוגמה לבקשה

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

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

// Create the GMSFetchPlaceRequest instance.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil)

client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  guard let place, error == nil else { return }
  print("Place found: \(String(describing: place.name))")
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest instance.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields sessionToken:nil];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
    if (error != nil) {
      NSLog(@"An error occurred %@", [error localizedDescription]);
      return;
    } else {
    NSLog(@"Place Found: %@", place.name);
    NSLog(@"The place URL: %@", place.website);
  }
}];