iOS için Yerler SDK'sı (Yeni), uygulamanıza yerin adı ve adresi, enlem/boylam koordinatları olarak belirtilen coğrafi konum, yer türü (gece kulübü, evcil hayvan mağazası, müze gibi) gibi yerler hakkında zengin bilgiler sağlar. Belirli bir yerle ilgili bu bilgilere erişmek için, bir yeri benzersiz şekilde tanımlayan sabit bir tanımlayıcı olan yer kimliğini kullanabilirsiniz.
Yer ayrıntılarını alın
GMSPlace
sınıfı, Yer Veri Alanları (Yeni) bölümünde gösterilen tüm veri alanları da dahil olmak üzere belirli bir yer hakkında bilgiler içerir. GMSPlace
nesnesini
GMSPlacesClient
fetchPlaceWithRequest:
çağırarak, bir GMSFetchPlaceRequest
nesnesini ve GMSPlaceResultCallback
türünde bir geri çağırma yöntemini ileterek
bir nesne edinin.
GMSFetchPlaceRequest
nesnesi şunları belirtir:
- (Gerekli) Yer kimliği, bir yerin Google Rehber veritabanındaki ve Google Haritalar'daki benzersiz tanımlayıcısıdır.
- (Zorunlu)
GMSPlace
nesnesinde döndürülecek alanların listesi.GMSPlaceProperty
tarafından tanımlandığı şekilde alan maskesi olarak da adlandırılır. Alan listesinde en az bir alan belirtmezseniz veya alan listesini çıkarırsanız çağrı bir hata döndürür. - (İsteğe bağlı) Yanıtı biçimlendirmek için kullanılan bölge kodu.
- (İsteğe bağlı) Otomatik Tamamlama (Yeni) oturumunu sonlandırmak için kullanılan oturum jetonu.
Yer Ayrıntısı isteğinde bulunun
Bu örnek, aşağıdaki parametreleri ileterek kimliğe göre bir yer alır:
ChIJV4k8_9UodTERU5KXbkYpSYs
yer kimliği.- Yer adını ve web sitesi URL'sini döndürmeyi belirten bir alan listesi.
- Sonucu işlemek için
GMSPlaceResultCallback
.
API, bir GMSPlace
nesnesi ileterek belirtilen geri çağırma yöntemini çağırır. Yer bulunamazsa, yer nesnesi boştur.
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue} // Create the GMSFetchPlaceRequest object. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties, sessionToken: nil) client.fetchPlace(with: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(String(describing: place.name))") })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<NSString *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest object. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties sessionToken:nil]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { NSLog(@"Place Found: %@", place.name); NSLog(@"The place URL: %@", place.website); } }];
GooglePlacesSwift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" let fetchPlaceRequest = FetchPlaceRequest( placeID: placeID, placeProperties: [.name, .website] ) switch await placesClient.fetchPlace(with: fetchPlaceRequest) { case .success(let place): // Handle place case .failure(let placesError): // Handle error }
Yer Ayrıntıları yanıtı
Yer Ayrıntıları, yerle ilgili ayrıntıları içeren bir GMSPlace
nesnesi döndürür. GMSPlace
nesnesinde yalnızca alan listesinde belirtilen alanlar doldurulur.
Yanıttaki GMSPlace
nesnesi, veri alanlarıyla birlikte aşağıdaki üye işlevlerini içerir:
-
isOpen
, bir yerin belirtilen saatte açık olup olmadığını hesaplar. isOpenAtDate
, bir yerin belirli bir tarihte açık olup olmadığını hesaplar.
Gerekli parametreler
Gerekli parametreleri belirtmek için GMSFetchPlaceRequest
nesnesini kullanın.
Yer kimliği
iOS için Yerler SDK'sında kullanılan yer kimliği; Places API, Android için Yerler SDK'sı ve diğer Google API'lerinde kullanılan tanımlayıcıyla aynıdır. Her yer kimliği yalnızca bir yeri ifade edebilir, ancak tek bir yerin birden fazla yer kimliği olabilir.
Bir yerin yeni bir yer kimliği almasına neden olabilecek bazı durumlar vardır. Örneğin, bir işletme yeni bir konuma taşınırsa bu durum yaşanabilir.
Bir yer kimliği belirterek bir yer isteğinde bulunduğunuzda, yanıtta her zaman aynı yeri alacağınızdan (yer hâlâ mevcutsa) emin olabilirsiniz. Ancak yanıtın, isteğinizdekinden farklı bir yer kimliği içerebileceğini unutmayın.
Alan listesi
Yer ayrıntılarını istediğinizde, bu yerin GMSPlace
nesnesinde döndürülecek verileri alan maskesi olarak belirtmeniz gerekir. Alan maskesini tanımlamak için GMSPlaceProperty
öğesinden bir değer dizisini GMSFetchPlaceRequest
nesnesine geçirin.
Alan maskeleme, gereksiz veri isteğinde bulunmadığınızdan emin olmak için iyi bir tasarım uygulamasıdır. Bu da gereksiz işleme süresi ve faturalandırma ücretlerinin önlenmesine yardımcı olur.
Aşağıdaki alanlardan birini veya daha fazlasını belirtin:
Aşağıdaki alanlar Yer Ayrıntıları (Yalnızca Kimlik) SKU'sunu tetikler:
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
,GMSPlacePropertyPhotos
Aşağıdaki alanlar Yer Ayrıntıları (Yalnızca Konum) SKU'sunu tetikler:
GMSPlacePropertyAddressComponents
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyCoordinate
,GMSPlacePropertyPlusCode
,GMSPlacePropertyTypes
,GMSPlacePropertyViewport
Aşağıdaki alanlar Yer Ayrıntıları (Temel) SKU'sunu tetikler:
GMSPlacePropertyBusinessStatus
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyUTCOffsetMinutes
,GMSPlacePropertyWheelchairAccessibleEntrance
Aşağıdaki alanlar Yer Ayrıntıları (Gelişmiş) SKU'sunu tetikler:
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyOpeningHours
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyWebsite
Aşağıdaki alanlar Yer Ayrıntıları (Tercih Edilen) SKU'sunu tetikler:
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesBrunch
,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
Aşağıdaki örnek, bir istek tarafından döndürülen GMSPlace
nesnesinin name
ve placeID
alanlarını içerdiğini belirtmek için iki alan değerinden oluşan bir listeyi iletir:
Swift
// Specify the place data types to return. let fields: [GMSPlaceProperty] = [.placeID, .name]
Objective-C
// Specify the place data types to return. NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyPlaceID, GMSPlacePropertyName];
GooglePlacesSwift
// Specify the place data types to return. let fields: [PlaceProperty] = [.placeID, .displayName]
İsteğe bağlı parametreler
İsteğe bağlı parametreleri belirtmek için GMSFetchPlaceRequest
nesnesini kullanın.
regionCode
Yanıtı biçimlendirmek için kullanılan, iki karakterli CLDR kodu değeri olarak belirtilen bölge kodu. Bu parametrenin arama sonuçları üzerinde yanlılık etkisi de olabilir. Varsayılan değer yoktur.
Yanıttaki adres alanının ülke adı bölge koduyla eşleşirse ülke kodu adresten çıkarılır.
Bazı önemli istisnalar dışında çoğu CLDR kodu ISO 3166-1 kodlarıyla aynıdır. Örneğin, Birleşik Krallık'ın ccTLD'si "uk" (.co.uk), ISO 3166-1 kodu ise "gb"'dir (teknik olarak "Büyük Britanya ve Kuzey İrlanda Birleşik Krallık'ı" için kullanılır). Parametre, geçerli yasalara göre sonuçları etkileyebilir.
sessionToken
Oturum jetonları, Otomatik Tamamlama (Yeni) çağrılarını "oturumlar" olarak izleyen, kullanıcı tarafından oluşturulmuş dizelerdir. Otomatik Tamamlama (Yeni), bir kullanıcı otomatik tamamlama aramasının sorgu ve yer seçimi aşamalarını faturalandırma amacıyla ayrı bir oturumda gruplandırmak için oturum jetonlarını kullanır. Oturum jetonları, Otomatik Tamamlama (Yeni) çağrılarından sonra gelen Yer Ayrıntıları (Yeni) çağrılarına iletilir. Daha fazla bilgi için Oturum jetonları bölümüne bakın.
İlişkilendirmeleri uygulamanızda gösterin
Uygulamanız, GMSPlacesClient
'ten alınan bilgiler (ör. fotoğraflar ve yorumlar) görüntülediğinde, gerekli atıfları da görüntülemelidir.
Örneğin, GMSPlacesClient
nesnesinin reviews
özelliği, en fazla beş GMSPlaceReview
nesneden oluşan bir dizi içerir. Her GMSPlaceReview
nesnesi, atıflar ve yazar ilişkilendirmeleri içerebilir.
Yorumu, uygulamanızda gösterirseniz herhangi bir atıf veya yazar ilişkilendirmesini de göstermeniz gerekir.
Daha fazla bilgi için ilişkilendirmeler ile ilgili dokümanlara bakın.