Yer Ayrıntıları

Platform seçin: Android iOS JavaScript Web Hizmeti

iOS için Yerler SDK'sı uygulamanızda 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, bir yeri benzersiz ş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:

Bir yer istediğinizde, döndürülecek yer verisi türlerini belirtmelisiniz. Bunu yapmak için döndürülecek veri türlerini belirterek bir GMSPlaceField iletin. Bu, her bir isteğin maliyetini etkileyecektir. Bu nedenle, bunu dikkate almak önemlidir.

Yer verisi sonuçları boş olmayacağı için yalnızca veri içeren yer sonuçları döndürülür (örneğin, istenen bir yerin fotoğrafı yoksa sonuçta photos alanı görünmez).

Aşağıdaki örnekte, bir istek tarafından döndürülen verileri belirtmek için iki alan değeri listesi verilmiştir:

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))!
  

Objective-C

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

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

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'ya bakın.

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

  • name – Yerin adı.
  • placeID – 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.
  • phoneNumber – Yerin telefon numarası, uluslararası biçimde.
  • formattedAddress – Bu konumun kullanıcılar tarafından okunabilen adresi.

    Bu adres genellikle posta adresiyle eşdeğerdir. Birleşik Krallık gibi bazı ülkelerde lisanslama kısıtlamaları nedeniyle gerçek posta adreslerinin dağıtımına izin verilmediğini hatırlatmak isteriz.

    Biçimlendirilmiş adres, mantıksal olarak bir veya daha fazla adres bileşeninden oluşur. Örneğin, "111 8th Avenue, New York, NY" adresi şu bileşenlerden oluşur: "111" (sokak numarası), "8th Avenue" (rota), "New York" (şehir) ve "NY" (ABD eyaleti).

    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.

  • openingHours – Yerin çalışma saatleri (GMSOpeningHours tarafından temsil edildiği şekilde). Haftanın günlük çalışma saatlerinin yerelleştirilmiş dizelerinin listesini almak için GMSOpeningHours.weekdayText numaralı telefonu arayın. weekdayText tarafından sağlanan verilerle eşdeğer olan daha ayrıntılı bilgiler içeren GMSPeriod listesinin listesini döndürmek için GMSOpeningHours.Periods numaralı telefonu arayın. Not: Yer her zaman açıksa dönem, gece yarısı Pazar olarak temsil edilir ve closeEvent boştur.
  • addressComponents – Bir yerin adres bileşenlerini gösteren GMSAddressComponent nesne dizisi. Bu bileşenler, örneğin bir yerin bulunduğu şehri bulmak gibi, bir yerin adresiyle ilgili yapılandırılmış bilgileri ayıklamak amacıyla sağlanır. Adres biçimlendirmesi için bu bileşenleri kullanmayın; bunun yerine, yerelleştirilmiş bir biçimlendirilmiş 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 değerinden daha fazla bileşen içerebilir.
    • Dizide, formattedAddress içinde bulunanlar dışında adres içeren tüm siyasi kuruluşlar bulunmayabilir.
    • İsteğin biçiminin istekler arasında aynı kalacağı garanti edilmez. Özellikle addressComponents sayısı, talep edilen adrese göre değişir ve aynı adres için zaman içinde 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ç puan aldığını belirtir.

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

  • isOpen, bir yerin açık olup olmadığını openingHours ile UTCOffsetMinutes ve geçerli tarih ile saate göre hesaplar.
  • isOpenAtDate bir yerin açık olup olmadığını openingHours ve UTCOffsetMinutes geçerli tarihe ve saate göre hesaplar.
  • Açılış saatlerini ve/veya tarihleri almak için bu işlevleri kullanırken orijinal fetchPlaceFromPlaceID: ya da findPlaceLikelihoodsFromUserLocationWithPlaceFields: isteği hem GMSPlaceFieldOpeningHours hem de GMSPlaceFieldUTCOffsetMinutes alanlarını belirtmelidir. Bu alanlardan herhangi biri eksik olursa sonuçta ortaya çıkan GMSPlace nesnesi açılış saatleri veya tarihler içermez ve çağrı, GMSPlaceOpenStatusUnknown sonucunu döndürür. Doğru sonuçlar elde etmek için orijinal yer isteğinizdeki GMSPlaceFieldBusinessStatus ve GMSPlaceFieldUTCOffsetMinutes alanlarını isteyin. İstekte bulunulmazsa işletmenin faaliyet gösterdiği varsayılır.

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

Kimliğe göre bir yer bulun

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

Kimliğe göre yer almak için aşağıdaki parametreleri ekleyerek GMSPlacesClient fetchPlaceFromPlaceID: yöntemini çağırın:

  • Yer Kimliği içeren bir dize.
  • Döndürülecek veri türlerini belirten bir veya daha fazla GMSPlaceField.
  • Arama bir otomatik tamamlama sorgusunu sonlandırmak için yapıldıysa oturum jetonu. Aksi takdirde, boş bırakın.
  • Sonucu kullanmak için GMSPlaceResultCallback.

API, belirtilen geri çağırma yöntemini bir GMSPlace nesnesinden geçirerek ç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österin

Uygulamanız, GMSPlacesClient lookUpPlaceID:callback: ürününden elde edilen bilgileri görüntülediğinde ilişkilendirmeleri de görüntülemelidir. İ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ılanla aynıdır.

Her bir 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 durumlar vardır. Örneğin, bir işletme yeni bir konuma taşınırsa bu durumla karşılaşılabilir.

Bir yer kimliği belirterek istekte bulunduğunuzda, yanıtta her zaman aynı yeri alacağınızdan emin olabilirsiniz (bu 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ış bölümünü inceleyin.