Mevcut Yer

Platform seçin: Android iOS

iOS için Yerler SDK'sını kullanarak, cihazın şu anda konumu. Yani cihazın rapor edilen yer. Yer örnekleri arasında yerel işletmeler, önemli yerleri ve coğrafi yerleri görebilirsiniz.

  1. Konum yetkilendirmesi isteme
  2. Kullanım sınırları
  3. Geçerli konumu alma
  4. Uygulamanızda görüntülü reklam ilişkilendirmeleri

Konum yetkilendirmesi isteniyor

Uygulamanızda GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:, Uygulamanız, konum hizmetlerini kullanmak için izin istemelidir. URL'yi Info.plist için NSLocationWhenInUseUsageDescription anahtarı dosyasını kullanarak kullanıcıyı bu konuma neden ihtiyaç duyduğunuzu açıklayan dizeyi tanımlayabilirsiniz. kullanıma sunuyoruz. Örneğin:

<key>NSLocationWhenInUseUsageDescription</key>
<string>Show your location on the map</string>

Aramak istiyorsanız findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: arka planda çalışıyorsa onay iletişim kutusunu tetiklemeden telefon görüşmesi yapmadan önce aşağıdaki adımları uygulayın:

  1. NSLocationAlwaysUsageDescription anahtarını Info.plist dosyanıza ekleyin.
  2. Herhangi bir CLLocationManager örneğinde requestAlwaysAuthorization öğesini çağır yöntemini çağırın.

CLLocationManager adlı işletmeden şu şekilde yetkilendirme isteyin:

Swift

    locationManager.requestAlwaysAuthorization()
    

Objective-C

    [self.locationManager requestAlwaysAuthorization];
    

Geçerli konum alınıyor

Yerel işletmeyi veya cihazın şu anda bulunduğu başka bir yeri bulmak için konumunu bul, ara GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:. Dahil et şu parametrelere sahip olursunuz:

  • Hangi veri türlerinin belirtildiği bir veya daha fazla GMSPlaceField geri dönüyor. Bu parametreyi atlarsanız TÜM olası alanlar döndürülür ve buna göre faturalandırılırsınız. Bu yalnızca Yer Ayrıntısı istekleri için geçerlidir.
  • Sonuçları işlemek için bir geri çağırma yöntemi.
ziyaret edin.

Alanlar, Yer Arama sonuçlarına karşılık gelir ve üç faturalandırma kategorisine ayrılır: Basic, Contact ve Atmosfer. Temel alanlar, taban ücretle faturalandırılır ve ek ücret ödemez. anlamına gelir. Kişi ve Atmosfer alanları daha yüksek ücretle faturalandırılır. Okuyucu Gelirleri Yöneticisi'ni Yer verisi isteklerinin nasıl faturalandırıldığı hakkında daha fazla bilgi edinmek için bkz. Kullanım ve Faturalandırma.

API, belirtilen geri çağırma yöntemini çağırarak GMSPlaceLikelihood nesneler'i tıklayın.

Her biri GMSPlaceLikelihood bir yeri temsil eder. Her yer için sonuç, o yerin doğru yer olup olmadığının bir göstergesi. Daha yüksek bir değer o yerin en iyi eşleşme olma olasılığının daha yüksek olduğu anlamına gelir. Tampon cihaz konumuna karşılık gelen bilinen bir yer yoksa boş bırakılmalıdır.

Aşağıdaki kod örneğinde, cihazın bulunduğu yerlerin listesini bulunur ve her bir yerin adını ve olasılığını günlüğe kaydeder.

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);
    }
  }
}];

Olasılık değerleriyle ilgili notlar:

  • Olasılık, göreceli olasılık sağlar bir kullanıcı için döndürülen yerler listesinde en iyi eşleşme olan tek istek. Farklı isteklerin olasılıklarını karşılaştıramazsınız.
  • Olasılığın değeri 0 ile 1,0 arasında olur.
  • Döndürülen bir dizideki olasılıkların toplamı GMSPlaceLikelihood nesne her zaman 1,0'dan küçük veya 1,0'a eşittir. Toplamın şuna eşit olmadığını unutmayın: her zaman 1,0 olmalıdır.

Örneğin, doğru yerin A Yeri olma ihtimalini% 55 göstermek için ve yerin B yeri olma ihtimali% 35 ise, olasılık dizisinin iki üyesi vardır: A'ya 0,55 ve B'yi 0,35 olasılığıyla belirleyin.

İlişkilendirmeleri uygulamanızda gösterme

Uygulamanız, GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:, uygulama ilişkilendirmeler de gösterilmelidir. Daha fazla bilgi: ilişkilendirmeler.