Mit dem Places SDK for iOS können Sie den Ort ermitteln, an dem die Gerät sich gerade befindet. Das heißt, die Stelle auf dem Gerät den aktuell gemeldeten Standort. Beispiele für Orte sind lokale Unternehmen, POIs und geografische Standorte.
- Standortautorisierung anfordern
- Nutzungslimits
- Aktuellen Standort abrufen
- Attributionen im Displaynetzwerk in Ihrer App
Standortautorisierung wird angefordert
Wenn Ihre App
<ph type="x-smartling-placeholder"></ph>
GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
,
muss deine App eine Berechtigung anfordern, um Standortdienste zu verwenden. Fügen Sie den
NSLocationWhenInUseUsageDescription
-Schlüssel zu deinem Info.plist
-Datei, um die Zeichenfolge zu definieren, die den Nutzer darüber informiert, warum Sie den Standort benötigen.
. Beispiel:
<key>NSLocationWhenInUseUsageDescription</key> <string>Show your location on the map</string>
Zum Anrufen
<ph type="x-smartling-placeholder"></ph>
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
, wenn
wenn die App im Hintergrund ausgeführt wird, ohne dass ein Bestätigungsdialogfeld angezeigt wird,
Führen Sie vor dem Anruf folgende Schritte aus:
- Fügen Sie der Datei
Info.plist
den SchlüsselNSLocationAlwaysUsageDescription
hinzu. requestAlwaysAuthorization
in einer beliebigen Instanz vonCLLocationManager
aufrufen bevor Sie die Methode aufrufen.
Fordern Sie so eine Autorisierung von CLLocationManager
an:
Swift
locationManager.requestAlwaysAuthorization()
Objective-C
[self.locationManager requestAlwaysAuthorization];
Aktuellen Standort abrufen
Um das lokale Unternehmen oder einen anderen Ort zu finden, an dem sich das Gerät gerade befindet
geortet, anrufen
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
Einschließen
folgende Parameter:
- Eine oder mehrere
GMSPlaceField
s, die die Datentypen angeben zurück. Wenn Sie diesen Parameter weglassen, werden ALLE möglichen Felder zurückgegeben und werden Ihnen die Kosten entsprechend in Rechnung gestellt. Dies gilt nur für „Place Details“-Anfragen. - Eine Callback-Methode zum Verarbeiten der Ergebnisse.
Die Felder entsprechen Place Search-Ergebnissen und sind in drei Abrechnungskategorien unterteilt: Basic, Contact und Atmosphere. Für Felder der Kategorie „Basic“ gilt der Basispreis und es fallen keine zusätzlichen Kosten an Gebühren. Für Felder der Kategorie „Contact“ und „Atmosphere“ werden höhere Kosten abgerechnet. Weitere Informationen zur Abrechnung von „Place Data“-Anfragen finden Sie unter Nutzung und Abrechnung.
Die API ruft die angegebene Callback-Methode auf und gibt ein Array von
GMSPlaceLikelihood
Objekte.
Jedes
GMSPlaceLikelihood
-Objekt einen Ort darstellt. Für jeden Ort enthält das Ergebnis ein
gibt an, wie wahrscheinlich es ist, dass der Ort der richtige ist. Höherer Wert
bedeutet eine höhere Wahrscheinlichkeit, dass der Ort die beste Übereinstimmung aufweist. Der Puffer kann
leer sein, wenn kein bekannter Ort für den Gerätestandort vorhanden ist.
Im folgenden Codebeispiel wird die Liste der Orte abgerufen, an denen sich das Gerät befindet am wahrscheinlichsten gefunden werden, und protokolliert den Namen und die Wahrscheinlichkeit für jeden Ort.
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); } } }];
Anmerkungen zu den Wahrscheinlichkeitswerten
- Die Wahrscheinlichkeit liefert eine relative Wahrscheinlichkeit. des Ortes, der in der Liste der zurückgegebenen Orte für einen -Einzelanfrage. Es ist nicht möglich, Wahrscheinlichkeiten verschiedener Anfragen zu vergleichen.
- Der Wahrscheinlichkeitswert liegt zwischen 0 und 1,0.
- Die Summe der Wahrscheinlichkeiten in einem zurückgegebenen Array von
GMSPlaceLikelihood
-Objekte ist immer kleiner oder gleich 1,0. Beachten Sie, dass die Summe nicht unbedingt 1,0.
Um beispielsweise mit einer Wahrscheinlichkeit von 55% darzustellen, dass der richtige Ort Ort A ist, und eine Wahrscheinlichkeit von 35 %, dass es sich um Ort B handelt, hat das Wahrscheinlichkeitsarray zwei Elemente: Ort A mit einer Wahrscheinlichkeit von 0,55 und Ort B mit einer Wahrscheinlichkeit von 0,35.
Quellenangaben in Ihrer App anzeigen
Wenn Ihre App Informationen anzeigt, die von
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
, die App
müssen außerdem Quellenangaben anzeigen. Weitere Informationen zu
Quellenangaben.