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