Yer Ayrıntıları (Yeni)

Platform seçin: Android iOS JavaScript Web Hizmeti

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. aşağıdaki şekilde tanımlandığı şekilde alan maskesi: 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.
ziyaret edin.

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 örnekte iki öğeli bir liste 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 (ör. fotoğraflar ve yorumlar) uygulamada, gerekli ilişkilendirmeler de gösterilmelidir.

Ö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.