Current Place

Plattform auswählen: Android iOS

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.

  1. Standortautorisierung anfordern
  2. Nutzungslimits
  3. Aktuellen Standort abrufen
  4. 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:

  1. Fügen Sie der Datei Info.plist den Schlüssel NSLocationAlwaysUsageDescription hinzu.
  2. requestAlwaysAuthorization in einer beliebigen Instanz von CLLocationManager 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 GMSPlaceFields, 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.