Places SDK ל-iOS תומך בפרטי המקום הקיימים. אם כבר הכרת את הגרסה הקיימת של Places SDK ל-iOS, כדאי לבצע את השינויים הבאים בגרסה החדשה של פרטי מקום:
משתמש במודל תמחור חדש. למידע על התמחור של כל ממשקי ה-API, ראו תמחור של Places SDK ל-iOS (חדש).
צריך לבצע אנונימיזציה של השדות. צריך לציין אילו שדות רוצים להחזיר בתשובה. אין רשימת ברירת מחדל של השדות שהוחזרו. אם משמיטים את הרשימה הזו, השיטות יחזירו שגיאה.
כדי לשלוח בקשה, צריך לבצע קריאה ל-method החדש
GMSPlacesClient fetchPlaceWithRequest:
.מעבירים את הבקשה:
מופע של המחלקה החדשה
GMSFetchPlaceRequest
שמגדיר את כל הפרמטרים של הבקשה, כמו מזהה מקום ואסימון סשן.קריאה חוזרת מסוג
GMSPlaceResultCallback
לטיפול בתשובה.
התשובה מכילה מופע
GMSPlace
שמכיל פרטים על המקום. הערכים במאפייןtypes
של המכונהGMSPlace
מוגדרים עכשיו לפי טבלה א' וטבלה ב.המופע של התשובה
GMSPlace
מכיל את המאפייןreviews
החדש מסוגGMSPlaceReview
. כשבאפליקציה מוצג מידע שהתקבל מהמכונה שלGMSPlace
, כמו תמונות וביקורות, האפליקציה צריכה להציג גם את השיוך הנדרש.מידע נוסף זמין במאמר שיוכים.
המופע של התגובה
GMSPlace
מכיל את פונקציות החברוּת הבאות:isOpen
מחשב אם המקום פתוח בפרק זמן נתון.isOpenAtDate
מחשב אם המקום פתוח בתאריך מסוים.
הפונקציות האלה זמינות רק כשמפעילים את Places SDK ל-iOS. הן לא זמינות כשמפעילים Places SDK ל-iOS (New). מידע נוסף זמין במאמר בחירת גרסת ה-SDK.
דוגמה לבקשה
באפשרות Place Details (New), שולחים בקשה ומעבירים את כל הפרמטרים במכונה 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); } }];