Yer Ayrıntıları (Yeni)

Platform seçin: Android iOS JavaScript Web Hizmeti

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.