iOS için Yerler SDK'sı (Yeni) uygulamanıza zengin bilgiler sağlar bilgileri, coğrafi konum, yer adı ve konum gibi enlem/boylam koordinatları olarak belirtilen yer, yerin türü (ör. gece kulübü, evcil hayvan mağazası, müze) ve daha fazlası. Bu bilgilere erişmek için yer kimliğini kullanabilirsiniz. Bu, benzersiz bir tanımlayıcı olan bir yeri tanımlar.
Yer ayrıntılarını al
İlgili içeriği oluşturmak için kullanılan
GMSPlace
sınıfı, belirli bir yer hakkında, şurada gösterilen tüm veri alanları da dahil olmak üzere bilgiler içerir:
Yer Veri Alanları (Yeni). Bir
GMSPlace
çağırarak nesne
GMSPlacesClient
fetchPlaceWithRequest:
,
GMSFetchPlaceRequest
nesnesi ve
türü geri çağırma yöntemi
GMSPlaceResultCallback
GMSFetchPlaceRequest
nesnesi şunu belirtir:
- (Gerekli) Google Rehber'deki bir yerin benzersiz tanımlayıcısı olan yer kimliği veritabanında ve Google Haritalar'da.
- (Zorunlu)
GMSPlace
nesnesinde döndürülecek alanların listesi. alan maskesi gibi,GMSPlaceProperty
. Alan listesinde en az bir alan belirtmezseniz veya alan adını sonra ç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 bulunma
Bu örnek, aşağıdaki parametreleri ileterek kimliğe göre bir yer alır:
ChIJV4k8_9UodTERU5KXbkYpSYs
adlı yerin kimliği.- Yer adının ve web sitesi URL'sinin döndürülmesini belirten bir alan listesi.
GMSPlaceResultCallback
biraz zaman ayırın.
API, belirtilen geri çağırma yöntemini çağırır ve
GMSPlace
nesnesini tanımlayın. 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 GMSPlace
nesne. GMSPlace
nesnesinde yalnızca alan listesinde belirtilen alanlar doldurulur.
Veri alanlarıyla birlikte, GMSPlace
yanıt aşağıdaki üye işlevlerini içerir:
-
isOpen
, bir yerin belirli bir 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 Android için Places API'sinde kullanılan tanımlayıcıyla aynı tanımlayıcı ve diğer Google API'lerini kullanabilirsiniz. Her yer kimliği yalnızca bir yeri ifade edebilir, ancak tek bir yer için daha fazla bilgi birden fazla yer kimliğinden ibarettir.
Bir yerin yeni bir yer kimliği almasına yol açabilecek koşullar vardır. Örneğin, bu durum bir işletme yeni bir konuma taşınırsa gerçekleşebilir.
Bir yer kimliği belirterek bir yer isteğinde bulunduğunuzda, yanıtta her zaman aynı yer gösterilir (yer, mevcut). Ancak, yanıtın şuna sahip bir yer kimliği içerebileceğini unutmayın: isteyebilirsiniz.
Alan listesi
Yer ayrıntılarını istediğinizde, ayrıntılar için
sonuç, yer için GMSPlace
nesnesini alan maskesi olarak döndürür. Alan maskesini tanımlamak için
şuradan bir değer dizisi aktar:
GMSPlaceProperty
.
[GMSFetchPlaceRequest
nesnesine].
Alan maskeleme, gereksiz verileri istemediğinizden emin olmak açısından iyi bir tasarım uygulamasıdır.
gereksiz işlem 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,
alan değerleri
(istek tarafından döndürülen GMSPlace
nesnesinin
name
ve placeID
alanları:
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 bölge kodu, CLDR kodu değerini girin. Bu parametrenin yanlılık etkisi de olabilir daha fazla bilgi edineceksiniz. Varsayılan bir değer yok.
Yanıttaki adres alanının ülke adı bölge kodundan ülke kodu atlanır.
Çoğu CLDR kodu ISO 3166-1 kodlarıyla aynıdır. bazı önemli istisnalarla birlikte. Örneğin, Birleşik Krallık'ın ccTLD'si "uk" (.co.uk), ISO 3166-1 kodu "gb" ise (teknik olarak "Büyük Britanya ve Kuzey İrlanda Birleşik Krallığı"). Parametre, geçerli yasalara göre sonuçları etkileyebilir.
sessionToken
Oturum jetonları Otomatik Tamamlama'yı izleyen kullanıcı tarafından oluşturulmuş dizelerdir (Yeni) aramaları "oturumlar" olarak adlandırılır. Otomatik Tamamlama (Yeni), şunları yapmak için oturum jetonlarını kullanır: bir kullanıcı otomatik tamamlama aramasının sorgu ve yer seçimi aşamalarını ayrı bir oturumda gruplandırmak . Oturum jetonları Yer Ayrıntılarına aktarılır (Yeni) Otomatik tamamlama (Yeni) aramalarını takip eden aramalar Daha fazla bilgi için bkz. Oturum jetonları.
İlişkilendirmeleri uygulamanızda gösterme
Uygulamanız,
GMSPlacesClient
(fotoğraflar ve yorumlar gibi) gerekli atıfları uygulamada da göstermelidir.
Örneğin, GMSPlacesClient
nesnesinin reviews
özelliği
en fazla beşten oluşan bir dizi içerir
GMSPlaceReview
nesneler'i tıklayın. Her GMSPlaceReview
nesnesi atıflar ve yazar atıfları içerebilir.
Yorumu uygulamanızda gösteriyorsanız atıfı veya yazarı da göstermeniz gerekir
ilişkilendirmesine yardımcı olur.
Daha fazla bilgi için ilişkilendirmeler.