Yer Ayrıntıları

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Platform seçin: Android iOS JavaScript Web Hizmeti

iOS için Yerler SDK'sı, 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 vb.) dahil olmak üzere yerler hakkında zengin bilgiler sağlar. Belirli bir yerle ilgili bu bilgilere erişmek için, yeri benzersiz bir şekilde tanımlayan sabit bir tanımlayıcı olan yer kimliğini kullanabilirsiniz.

Yer ayrıntıları

GMSPlace sınıfı, belirli bir yer hakkında bilgi sağlar. GMSPlace nesnesini aşağıdaki şekillerde ele alabilirsiniz:

Yer alanları

Bir yer isteğinde bulunurken, döndürülecek yer verisi türlerini belirtmeniz gerekir. Bunu yapmak için döndürülecek veri türlerini belirterek bir GMSPlaceField aktarın. Bu, her bir isteğin maliyetini etkileyeceğinden bu konunun önemli olduğunu unutmayın. Yer verisi sonuçları boş olmayacağı için yalnızca veri içeren yer sonuçları döndürülür (örneğin, istenen yerde fotoğraf yoksa photos alanı sonuçta yer almaz). Aşağıdaki alanlardan bir veya daha fazlasını belirtebilirsiniz:

  • GMSPlaceFieldName
  • GMSPlaceFieldPlaceID
  • GMSPlaceFieldPlusCode
  • GMSPlaceFieldBusinessStatus
  • GMSPlaceFieldCoordinate
  • GMSPlaceFieldOpeningHours
  • GMSPlaceFieldPhoneNumber
  • GMSPlaceFieldFormattedAddress
  • GMSPlaceFieldRating
  • GMSPlaceFieldPriceLevel
  • GMSPlaceFieldTypes
  • GMSPlaceFieldWebsite
  • GMSPlaceFieldViewport
  • GMSPlaceFieldAddressComponents
  • GMSPlaceFieldPhotos
  • GMSPlaceFieldUserRatingsTotal
  • GMSPlaceFieldIconImageURL
  • GMSPlaceFieldIconBackgroundColor
  • GMSPlaceFieldUTCOffsetMinutes
  • GMSPlaceFieldAll

Yer alanları hakkında daha fazla bilgi edinin. Yer verileri isteklerinin nasıl faturalandırıldığı hakkında daha fazla bilgi için Kullanım ve Faturalandırma bölümüne bakın.

GMSPlace sınıfı aşağıdaki yer verilerini içerebilir:

  • name – Yerin adı.
  • placeID – Bu yerin metin tanımlayıcısı. Bu sayfanın geri kalanında yer kimlikleri hakkında daha fazla bilgi edinebilirsiniz.
  • coordinate – Yerin enlem ve boylam koordinatları olarak belirtilen coğrafi konumu.
  • businessStatus – Bir işletmeyse yerin operasyonel durumu. Şu değerlerden birini içerebilir: GMSBusinessStatusOperational, GMSBusinessStatusClosedTemporarily, GMSBusinessStatusClosedPermanently, GMSBusinessStatusUnknown.
  • phoneNumber – Yerin telefon numarası, uluslararası biçimde.
  • formattedAddress – Bu konumun kullanıcılar tarafından okunabilir adresi.

    Bu adres genellikle posta adresiyle eşdeğerdir. Lisanslama kısıtlamaları nedeniyle, Birleşik Krallık gibi bazı ülkelerin gerçek posta adreslerinin dağıtımına izin vermediğini unutmayın.

    Biçimlendirilmiş adres, mantıksal olarak bir veya daha fazla adres bileşeninden oluşur. ya

    Biçimlendirilmiş adresi programatik olarak ayrıştırmayın. Bunun yerine, API yanıtının biçimlendirilmiş adres alanına ek olarak içerdiği bağımsız adres bileşenlerini kullanmanız gerekir.

  • rating – Yerin, toplam kullanıcı yorumlarına göre 1,0 ile 5,0 aralığında değerler içeren hareketli değer olarak döndürülen toplu puan.
  • openingHours – Yerin çalışma saatleri (GMSOpeningHours ile gösterildiği şekilde). Haftalık günlük çalışma saatlerinin yerelleştirilmiş dizelerinin listesini almak için GMSOpeningHours.weekdayText numaralı telefonu arayın. weekdayText tarafından sağlanan verilere eşdeğer daha ayrıntılı bilgiler içeren bir GMSPeriod listesi döndürmek için GMSOpeningHours.Periods numaralı telefonu arayın. Not: Bir yer her zaman açıksa dönem, Pazar gece yarısı olarak gösterilir ve closeEvent boştur.
  • plusCode – Yerin konumunun artı kodu temsili.
  • priceLevel – Bu yerin fiyat düzeyi, 0 (en ucuz) ile 4 (en pahalı) arasında değerler içeren bir tam sayı olarak döndürülür.
  • types – Bu yeri tanımlayan yer türlerinin listesi. Bu dizi birden fazla değer içerebilir veya boş olabilir. Yeni değerler, önceden bildirilmeksizin sunulabilir. Desteklenen türlerin listesine bakın.
  • website – Yerin (varsa) web sitesinin URI'sı. Bu, işletme veya işletmeyle ilişkili başka bir tüzel kişinin devam ettiği web sitesidir.
  • attributions: Uygulamanız iOS için Yerler SDK'sından alınan yer ayrıntılarını kullanıyorsa kullanıcıya göstermeniz gereken özellikleri içeren bir NSAttributedString. İlişkilendirmeleri alma ve görüntüleme hakkında ayrıntılı bilgi için ilişkilendirme kılavuzuna bakın.
  • addressComponents – Bir yere ait adresin bileşenlerini temsil eden bir GMSAddressComponent nesnesi dizisi. Bu bileşenler, bir yerin adresiyle ilgili yapılandırılmış bilgilerin ayıklanması amacıyla sağlanır (ör. bir yerin bulunduğu şehri bulmak). Adres biçimlendirmesi için bu bileşenleri kullanmayın; bunun yerine, yerelleştirilmiş ve biçimlendirilmiş bir adres sağlayan formattedAddress özelliğini kullanın.

    addressComponents dizisiyle ilgili aşağıdaki noktaları göz önünde bulundurun:

    • Adres bileşenleri dizisi, formattedAddress öğesinden daha fazla bileşen içerebilir.
    • Dizi, formattedAddress'da yer alan tüzel kişiler dışında, adres içeren tüm siyasi tüzel kişileri kapsamaz.
    • Yanıt biçiminin istekler arasında aynı olacağı garanti edilmez. Özellikle addressComponents sayısı, talep edilen adrese göre değişir ve aynı adres için zamanla değişebilir. Bir bileşen, dizideki konumu değiştirebilir. Bileşenin türü değişebilir. Daha sonraki bir yanıtta belirli bir bileşen eksik olabilir.
  • userRatingsTotal – Yerin kaç puandan oluştuğunu temsil eder.
  • GMSPlaceFieldIconImageURL – Yer türünü temsil eden simgenin (PNG biçimi) URL'si.
  • GMSPlaceFieldIconBackgroundColor – Yer türü simgesinin arka plan rengi.
  • UTCOffsetMinutes – Yerin, saat cinsinden uzaklığı dakika cinsinden.

GMSPlace sınıfı aşağıdaki üye işlevlerini içerir:

  • isOpen, bir yerin belirli bir zamanda açık olup olmadığını openingHours, UTCOffsetMinutes ve geçerli tarih ile saate göre hesaplar.
  • isOpenAtDate bir yerin açık olup olmadığını openingHours, UTCOffsetMinutes ve geçerli tarih ile saate göre hesaplar.
  • Açılış saatlerini ve/veya tarihlerini almak için bu işlevleri kullanırken orijinal fetchPlaceFromPlaceID: veya findPlaceLikelihoodsFromUserLocationWithPlaceFields: isteğinde HEM GMSPlaceFieldOpeningHours hem GMSPlaceFieldUTCOffsetMinutes alanlarının belirtilmesi gerekir. Bu alanlardan herhangi biri eksik olursa sonuçta ortaya çıkan GMSPlace nesnesi açılış saatleri veya tarihleri içermez ve çağrı, GMSPlaceOpenStatusUnknown değerini döndürür. Sonuçların doğru olması için orijinal yer isteğinizde GMSPlaceFieldBusinessStatus ve GMSPlaceFieldUTCOffsetMinutes alanlarını isteyin. İstekte bulunmazsa işletmenin faaliyet gösterdiği varsayılır.

    isOpen ürününü Yer Ayrıntıları ile nasıl kullanacağınızı öğrenmek için bu videoya göz atın.

Bir yeri kimliğe göre alın

Yer kimliği, bir yeri benzersiz şekilde tanımlayan metin tanımlayıcısıdır. iOS için Places SDK'sında bir yerin kimliğini bir GMSPlace nesnesinden alabilirsiniz. Yer kimliğini depolayabilir ve daha sonra tekrar GMSPlace nesnesini almak için kullanabilirsiniz.

Bir yeri kimliğe göre almak için GMSPlacesClient fetchPlaceFromPlaceID: çağrısı yaparak aşağıdaki parametreleri iletin:

  • Yer kimliği içeren bir dize.
  • Döndürülecek veri türlerini belirten bir veya daha fazla GMSPlaceField.
  • Otomatik tamamlama sorgusunu sonlandırmak için çağrı yapılırsa oturum jetonu. Aksi takdirde, hiç sorun değil.
  • Sonucu işlemek için GMSPlaceResultCallback.

API, bir GMSPlace nesnesinden geçerek belirtilen geri çağırma yöntemini çağırır. Yer bulunmazsa yer nesnesi sıfırdır.

Swift

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

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeId = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

İlişkilendirmeleri uygulamanızda gösterme

Uygulamanızda GMSPlacesClient lookUpPlaceID:callback:'ten elde edilen bilgiler gösterildiğinde ilişkilendirmeler de gösterilmelidir. İlişkilendirmeler ile ilgili belgelere bakın.

Yer kimlikleri hakkında daha fazla bilgi

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 bir yer kimliği yalnızca bir yere işaret edebilir ancak tek bir yerin birden fazla yer kimliği olabilir.

Bir yerin yeni bir yer kimliği almasına neden olabilecek durumlar vardır. Örneğin, bir işletme yeni bir konuma taşınırsa bu durum gerçekleşebilir.

Bir yer kimliği belirterek bir yer isteğinde bulunurken, yanıtta her zaman aynı yeri alacağınızdan emin olabilirsiniz (yer hâlâ mevcutsa). Bununla birlikte, yanıtın, isteğinizdekinden farklı bir yer kimliği içerebileceğini unutmayın.

Daha fazla bilgi için yer kimliğine genel bakış konusuna göz atın.