בעזרת Places SDK ל-iOS תוכלו לגלות את המקום שבו המכשיר נמצא כרגע. כלומר, המקום שנמצא המיקום המדווח כרגע. דוגמאות למקומות: עסקים מקומיים, נקודות עניין ומיקומים גיאוגרפיים.
נשלחה בקשה להרשאת מיקום
אם האפליקציה משתמשת
GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
,
האפליקציה שלך חייבת לבקש הרשאה להשתמש בשירותי המיקום. מוסיפים את
המפתח של NSLocationWhenInUseUsageDescription
למכשיר Info.plist
כדי להגדיר את המחרוזת שמיידעת את המשתמש למה אתם צריכים את המיקום
שירותים שונים. לדוגמה:
<key>NSLocationWhenInUseUsageDescription</key> <string>Show your location on the map</string>
אם אתה רוצה להתקשר
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
כאשר
האפליקציה נמצאת ברקע, בלי להפעיל תיבת דו-שיח לאישור,
את השלבים הבאים לפני ביצוע השיחה:
- מוסיפים את המפתח
NSLocationAlwaysUsageDescription
לקובץInfo.plist
. - קוראים לפונקציה
requestAlwaysAuthorization
בכל מופע שלCLLocationManager
לפני קריאה לשיטה.
כך מבקשים אישור מ-CLLocationManager
:
Swift
locationManager.requestAlwaysAuthorization()
Objective-C
[self.locationManager requestAlwaysAuthorization];
המערכת מקבלת את המיקום הנוכחי
כדי למצוא את העסק המקומי או מקום אחר שבו המכשיר נמצא כרגע
נמצא, שיחה
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
כלול
את הפרמטרים הבאים:
GMSPlaceField
אחד או יותר, שמציין את סוגי הנתונים כדי לחזור אליה. אם משמיטים את הפרמטר הזה, יוחזרו כל השדות האפשריים, וגם נחייב אותך בהתאם. המידע הזה רלוונטי רק לבקשות להוספת פרטי מקום.- שיטת קריאה חוזרת (callback) לטיפול בתוצאות.
השדות תואמים לתוצאות של חיפוש מקום, והם מחולקים לשלוש קטגוריות חיוב: בסיסי, יצירת קשר ואווירה. שדות בסיסיים מחויבים לפי התעריף הבסיסי, ולא צוברים חיובים נוספים חיובים. החיוב בשדות אנשי קשר ושדה אווירה הוא גבוה יותר. אפשר לקבל מידע נוסף על אופן החיוב של בקשות לנתוני מקום, ראה שימוש וחיוב.
ה-API מפעיל את שיטת הקריאה החוזרת שצוינה, ומחזיר מערך של
GMSPlaceLikelihood
אובייקטים.
כל אחד
GMSPlaceLikelihood
שמייצג מקום. לגבי כל מקום, התוצאה כוללת
אינדיקציה לסבירות שהמקום הוא הנכון. ערך גבוה יותר
פירושו סבירות גבוהה יותר שהמקום הוא ההתאמה הטובה ביותר. מאגר הנתונים הזמני עשוי
ריקה, אם אין מקום ידוע שתואם למיקום המכשיר.
דוגמת הקוד הבאה מאחזרת את רשימת המקומות שבהם המכשיר את המיקום של כל מקום, ומציגה את השם והסבירות של כל מקום.
Swift
// Specify the place data types to return. let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) | UInt(GMSPlaceField.placeID.rawValue))! placesClient?.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: fields, callback: { (placeLikelihoodList: Array<GMSPlaceLikelihood>?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let placeLikelihoodList = placeLikelihoodList { for likelihood in placeLikelihoodList { let place = likelihood.place print("Current Place name \(String(describing: place.name)) at likelihood \(likelihood.likelihood)") print("Current PlaceID \(String(describing: place.placeID))") } } })
Objective-C
// Specify the place data types to return. GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID); [_placesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:fields callback:^(NSArray<GMSPlaceLikelihood *> * _Nullable likelihoods, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } if (likelihoods != nil) { for (GMSPlaceLikelihood *likelihood in likelihoods) { GMSPlace *place = likelihood.place; NSLog(@"Current place name: %@", place.name); NSLog(@"Place ID: %@", place.placeID); } } }];
הערות לגבי ערכי הסבירות:
- הסבירות מספקת הסתברות יחסית של המקום הוא ההתאמה הטובה ביותר ברשימת המקומות שהוחזרו בקשה אחת. לא ניתן להשוות בין הסבירות של בקשות שונות.
- ערך הסבירות יהיה בין 0 ל-1.0.
- סכום הסבירות במערך מוחזר של
GMSPlaceLikelihood
אובייקטים הוא תמיד קטן מ-1.0 או שווה לו. שימו לב שהסכום הוא לא או 1.0.
לדוגמה, כדי לייצג סבירות של 55% שהמקום הנכון הוא מקום א', ובסבירות של 35% שזה מקום ב', במערך הסבירות יש שני איברים: מקום A עם סבירות 0.55 ו- מקום B עם הסבירות של 0.35.
הצגת פרטי ייחוס (Attribution) באפליקציה שלכם
מתי האפליקציה מציגה מידע שהתקבל מ
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
, האפליקציה
חייב להציג גם קרדיטים. מידע נוסף על
שיוכים.