Yer Ayrıntılarına Taşı (Yeni)

iOS için Yerler SDK'sı, mevcut Yer Ayrıntıları'nı destekler. Mevcut iOS için Yerler SDK'sını biliyorsanız Yer Ayrıntıları'nın yeni sürümünde aşağıdaki değişiklikler yapılmıştır:

  • Yeni bir fiyatlandırma modeli kullanır. Tüm API'ler için fiyatlandırma bilgileri için iOS için Yerler SDK'sı (Yeni) fiyatlandırması başlıklı makaleyi inceleyin.

  • Alan maskelemesi gereklidir. Yanıtta döndürülmesini istediğiniz alanları belirtmeniz gerekir. Döndürülen alanların varsayılan listesi yoktur. Bu listeyi atlarsanız yöntemler hata döndürür.

  • İstekte bulunmak için yeni GMSPlacesClient fetchPlaceWithRequest: yöntemini çağırın.

  • İsteğe iletin:

    • Yer kimliği ve oturum jetonu gibi tüm istek parametrelerini tanımlayan yeni GMSFetchPlaceRequest sınıfının bir örneği.

    • Yanıtı işlemek için GMSPlaceResultCallback türündeki bir geri çağırma işlevi.

  • Yanıt, yerle ilgili ayrıntıları içeren bir GMSPlace örneği içerir. GMSPlace örneğinin types mülkünde yer alan değerler artık Tablo A ve Tablo B ile tanımlanmaktadır.

  • Yanıt GMSPlace örneği, GMSPlaceReview türündeki yeni reviews mülkünü içerir. Uygulamanız, GMSPlace örneğinden alınan fotoğraf ve yorumlar gibi bilgileri görüntülerken gerekli ilişkilendirmeleri de görüntülemelidir.

    Daha fazla bilgi için ilişkilendirmeler hakkındaki dokümanları inceleyin.

  • Yanıt GMSPlace örneği aşağıdaki üye işlevlerini içerir:

    • isOpen bir yerin belirli bir zamanda açık olup olmadığını hesaplar.

    • isOpenAtDate, bir yerin belirli bir tarihte açık olup olmadığını hesaplar.

    Bu işlevler yalnızca iOS için Yerler SDK'sını etkinleştirdiğinizde kullanılabilir. iOS için Yerler SDK'sı (Yeni)'ni etkinleştirdiğinizde bu özellikler kullanılamaz. Daha fazla bilgi için SDK sürümünüzü seçme başlıklı makaleyi inceleyin.

Örnek istek

Yer Ayrıntıları (Yeni) ile bir istek gönderir ve tüm parametreleri GMSFetchPlaceRequest örneğine iletirsiniz. Bu örnekte, yanıtın yalnızca yerin görünen adını ve web sitesi URL'sini içermesi için alan maskesi de kullanılır:

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

// Create the GMSFetchPlaceRequest instance.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil)

client.fetchPlaceWithRequest(fetchPlaceRequest: 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 *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest instance.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields 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);
  }
}];