iOS için Yerler SDK'sını kullanarak cihazın şu anda bulunduğu yeri keşfedebilirsiniz. Yani, cihazın mevcut olarak bildirilmiş olduğu konumdaki yer. Yer örnekleri arasında yerel işletmeler, önemli yerler ve coğrafi konumlar yer alır.
- Konum izni isteme
- Kullanım sınırları
- Geçerli konumu alma
- Uygulamanızda ilişkilendirmeleri görüntüleme
Konum yetkilendirmesi isteme
Uygulamanız
GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
kullanıyorsa konum hizmetlerini kullanmak için izin istemelidir. Kullanıcıya konum hizmetlerine neden ihtiyaç duyduğunuzu bildiren dizeyi tanımlamak için NSLocationWhenInUseUsageDescription
anahtarını Info.plist
dosyanıza ekleyin. Örneğin:
<key>NSLocationWhenInUseUsageDescription</key> <string>Show your location on the map</string>
Uygulama arka plandayken onay iletişim kutusunu tetiklemeden
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
çağrısı yapmak istiyorsanız aramayı yapmadan önce aşağıdaki adımları uygulayın:
NSLocationAlwaysUsageDescription
anahtarınıInfo.plist
dosyanıza ekleyin.- Yöntemi çağırmadan önce
CLLocationManager
örneğinderequestAlwaysAuthorization
'ü çağırın.
CLLocationManager
'ten aşağıdaki şekilde yetkilendirme isteyin:
Swift
locationManager.requestAlwaysAuthorization()
Objective-C
[self.locationManager requestAlwaysAuthorization];
Mevcut konumu alma
Yerel işletmeyi veya cihazın şu anda bulunduğu başka bir yeri bulmak için GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
numaralı telefonu arayın. Aşağıdaki parametreleri ekleyin:
- Döndürülecek veri türlerinin belirtildiği bir veya daha fazla
GMSPlaceField
. Bu parametreyi atlarsanız mümkün olan TÜM alanlar döndürülür ve buna göre faturalandırılırsınız. Bu yalnızca Yer Ayrıntıları istekleri için geçerlidir. - Sonuçları işleyen bir geri çağırma yöntemi.
Alanlar yer arama sonuçlarına karşılık gelir ve üç faturalandırma kategorisine ayrılmıştır: Temel, Kişi ve Atmosfer. Temel alanlar taban fiyat üzerinden faturalandırılır ve ek ücret alınmaz. Kişi ve Atmosfer alanları daha yüksek bir ücretle faturalandırılır. Yer verileri isteklerinin nasıl faturalandırıldığı hakkında daha fazla bilgi için Kullanım ve Faturalandırma başlıklı makaleyi inceleyin.
API, belirtilen geri çağırma yöntemini çağırarak bir GMSPlaceLikelihood
nesnesi dizisi döndürür.
Her GMSPlaceLikelihood
nesnesi bir yeri temsil eder. Sonuçta her bir yer için, doğru yer olma olasılığı belirtilir. Daha yüksek bir değer, yerin en iyi eşleşme olma olasılığının daha yüksek olduğunu gösterir. Cihaz konumuna karşılık gelen bilinen bir yer yoksa arabellek boş olabilir.
Aşağıdaki kod örneği, cihazın bulunma olasılığının en yüksek olduğu yerlerin listesini alıp her 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, tek bir istek için döndürülen yerler listesinde yerle en iyi eşleşme olma olasılığını gösterir. Farklı isteklerin olasılıklarını karşılaştıramazsınız.
- Olasılık değeri 0 ile 1,0 arasında olacaktır.
- Döndürülen
GMSPlaceLikelihood
obje dizisindeki olasılıkların toplamı her zaman 1,0'dan az veya 1,0'a eşittir. Toplam değerin 1,0 olmayabileceğini unutmayın.
Örneğin, doğru yerin A Yeri olma olasılığının% 55 ve B Yeri olma olasılığının% 35 olduğunu göstermek için olasılık dizisinin iki üyesi vardır: olasılığı 0,55 olan A Yeri ve olasılığı 0, 35 olan B Yeri.
Uygulamanızda ilişkilendirmeleri görüntüleme
Uygulamanız GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
kaynağından elde edilen bilgileri görüntülerken ilişkilendirmeleri de görüntülemelidir. İlişkilendirmeler hakkında daha fazla bilgi edinin.