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

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

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

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

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

  • מעבירים לבקשה:

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

    • קריאה חוזרת מסוג GMSPlaceResultCallback לטיפול בתגובה.

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

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

    למידע נוסף, קראו את המאמר שיוך.

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

    • isOpen מחשבת אם מקום פתוח בזמן נתון.

    • isOpenAtDate מחשבת אם מקום פתוח בתאריך נתון.

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

בקשה לדוגמה

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

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);
  }
}];