Yer Ayrıntıları

Platform seçin: Android iOS JavaScript Web Hizmeti

iOS için Yerler SDK'sı 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ı

İlgili içeriği oluşturmak için kullanılan GMSPlace sınıfı, belirli bir yer hakkında bilgi verir. Her ay GMSPlace nesnesini aşağıdaki şekillerde kullanabilirsiniz:

ziyaret edin.

Bir yer isteğinde bulunduğunuzda, gösterilecek yer verisi türlerini dön. Bunu yapmak için verileri belirterek bir GMSPlaceField iletin döndürülecek şekilde döndürülecek. Bu önemli bir noktadır çünkü bu, ne kadar ödeyebileceğinizi belirler.

Yer verisi sonuçları boş bırakılamayacağı için yalnızca yer verileri veri içeren sonuçlar döndürülür (örneğin, istenen bir yerde fotoğraf yüklemezseniz sonuçta photos alanı görünmez).

Aşağıdaki örnek, iki alan değeri listesini aktarır kullanın:

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

Daha fazla bilgi: yer alanlarına ekleyin. Daha fazla Yer verisi isteklerinin nasıl faturalandırıldığına ilişkin bilgi için bkz. Kullanım ve Faturalandırma.

İlgili içeriği oluşturmak için kullanılan GMSPlace sınıfı aşağıdaki yer verilerini içerebilir:

  • name: Yerin adı.
  • editorialSummary – Bir yerle ilgili basit bir açıklama sunar.
  • placeID: Yerin metin biçimindeki tanımlayıcısı. Okunanlar yer kimlikleri hakkında daha fazla bilgiyi sayfanın geri kalanında bulabilirsiniz.
  • coordinate: Yerin coğrafi konumu, enlem ve boylam koordinatları şeklinde belirtilir.
  • phoneNumber – Söz konusu yerin telefon numarası (burada) olacaktır.
  • formattedAddress – Bu dosyanın kullanıcılar tarafından okunabilen adresi konum.

    Bu adres genellikle posta adresine eşdeğerdir. Bazı Birleşik Krallık gibi ülkelerde, doğru lisans kısıtlamaları nedeniyle posta adresi.

    Biçimlendirilmiş adres mantıksal olarak bir veya daha fazla adresinden oluşur. bileşenleri hakkında daha fazla bilgi edinin. Örneğin, "111 8. Cadde, İstanbul, Türkiye" adresi şu bileşenlerden oluşur: "111" (bina numarası), "8. Cadde" (rota), "New York" (şehir) ve "NY" (ABD eyaleti).

    Biçimlendirilmiş adresi programlı olarak ayrıştırmayın. Bunun yerine API yanıtına ek olarak dahil edilen bağımsız adres bileşenleri ekler.

  • openingHours – Yerin çalışma saatleri ( GMSOpeningHours ile temsil edilir). Telefonla arama Yerelleştirilmiş dizelerin listesini almak için GMSOpeningHours.weekdayText (haftanın günlük çalışma saatleri) Telefon et: GMSOpeningHours.Periods (daha ayrıntılı bilgi içeren bir GMSPeriod listesi döndürmek için) weekdayText tarafından sağlanan verilere eşdeğer. Not: Bir yer her zaman açıksa dönem Pazar gece yarısı ve closeEvent boş.
  • currentOpeningHours ve secondaryOpeningHours: Bir yerle ilgili zaman çizelgesinde tatil dönemi ve geçici değişiklikler yapılan alanlar.
  • addressComponents – Bir dizi öğesinin bileşenlerini temsil eden GMSAddressComponent nesne bir yerin adresi. Bu bileşenler şu amaçla sağlanır: bir yerin adresiyle ilgili yapılandırılmış bilgileri ayıklama, örneğin bir yerin bulunduğu şehri bulmaktır. Bu bileşenleri kullanmayın adres biçimlendirmesi için; bunun yerine formattedAddress kullanın özelliğini kullanmanızı öneririz.

    addressComponents ile ilgili aşağıdaki gerçeklere dikkat edin dizi:

    • Adres bileşenleri dizisi, formattedAddress
    • Bu dizi, aşağıda belirtilenlerin dışında bir adresi formattedAddress
    • Yanıt biçiminin kabul edersiniz. Özellikle, addressComponents sayısı talep edilen adrese göre değişir ve zaman içinde aynı adrese sahip olmalıdır. Bir bileşen, dizideki konumunu değiştirebilir. Bileşenin türü değişebilir. Belirli bir bileşen, yanıt veremeyebilirsiniz.
  • userRatingsTotal - Kaç yorumdan oluştuğunu gösterir bir puan ekleyin.

İlgili içeriği oluşturmak için kullanılan GMSPlace class, aşağıdaki üye işlevlerini içerir:

  • isOpen, bir yerin belirli bir zamanda açık olup olmadığını hesaplar. openingHours bazında ve UTCOffsetMinutes, geçerli tarih ve saat olabilir.
  • isOpenAtDate bir yerin belirli bir tarihte açık olup olmadığını openingHours ve UTCOffsetMinutes, geçerli tarih ve saat olabilir.
  • Çalışma saatlerini ve/veya tarihlerini almak için bu işlevleri kullanırken fetchPlaceFromPlaceID: veya findPlaceLikelihoodsFromUserLocationWithPlaceFields: istek HEM GMSPlaceFieldOpeningHours hem de GMSPlaceFieldUTCOffsetMinutes belirtmelidir alanları. Bu alanlardan biri eksikse GMSPlace nesne açılış saatlerini veya tarihlerini içermeyecek ve çağrıya dönülecektir GMSPlaceOpenStatusUnknown. Doğru sonuçların elde edilmesi için GMSPlaceFieldBusinessStatus ve GMSPlaceFieldUTCOffsetMinutes alanına ekleyin. Talep edilmezse olduğundan emin olun.

    Nasıl kullanacağınızı öğrenmek için bu videoyu izleyin. Yer Ayrıntılarıyla isOpen.

Benzersiz çalışma saatleri

Normal çalışma saatleri openingHours üzerinden alınırken currentOpeningHours ve secondaryOpeningHours, tatil günlerini ve programdaki geçici değişiklikleri destekler. Bu özel günler için istisnai çalışma saatleri filtrelenebilir ve varsa gösterilebilir.

Swift

    func examineOpeningHours(place: GMSPlace) {

      // Check if the current opening hours contains a special day that has exceptional hours
      guard let currentOpeningHours = place.currentOpeningHours else { return }
      if let specialDays = currentOpeningHours.specialDays {
        guard !specialDays.isEmpty else { return }
        if let specialDay = specialDays.filter { $0.isExceptional }.first  {
          // Indicate exceptional hours
        }
      }

      // Check if current opening hours contains a truncated time period
      let periods = currentOpeningHours.periods

      if !periods.isEmpty {
        for period in periods {
          let open = period.open
          let close = period.close

          if let open = open {
            let date = open.date

            if open.isTruncated {
              // Indicate truncated time period
            }
          }
        }
      }

      // Check if the place's secondary opening hours indicate when delivery is available
      let secondaryOpeningHours = place.secondaryOpeningHours
      guard let hoursType = secondaryOpeningHours.first?.hoursType else {
      return
      }

      if (hoursType == GMSPlaceHoursTypeDelivery) {
        // Indicate hours where delivery is available
      }
  }

Objective-C

- (void)examineOpeningHours:(GMSPlace *) place {

    // Check if the current opening hours contains a special day that has exceptional hours
    GMSOpeningHours *currentOpeningHours = place.currentOpeningHours;
    if (currentOpeningHours != nil) {
      NSArray<GMSPlaceSpecialDay *> *specialDays = currentOpeningHours.specialDays;
      if ([specialDays count] != 0) {
        for (GMSPlaceSpecialDay *specialDay in specialDays) {
          NSDate *date = specialDay.date;
          if ([specialDay isExceptional]) {
            // Indicate exceptional hours
          }
        }
      }
    }

    // Check if current opening hours contains a truncated time period
    NSArray <GMSPeriod *> * periods = currentOpeningHours.periods;

    if ([periods count] != 0) {
      for (GMSPeriod * period in periods) {
        GMSTimeOfWeek *open = period.open;
        GMSTimeOfWeek *close = period.close;

        if (open) {
          if ([open isTruncated]) {
            // Indicate truncated time period
          }
        }
      }
    }

    // Check if the place's secondary opening hours indicate when delivery is available
    GMSOpeningHours *secondaryOpeningHours = place.secondaryOpeningHours;
    GMSPlaceHoursType hoursType = secondaryOpeningHours.getHoursType;

    if (hoursType == GMSPlaceHoursTypeDelivery) {
      // Indicate hours where delivery is available
    }
}

Kimliğe göre bir yer alın

Yer kimliği, bir yeri benzersiz şekilde tanımlayan metinsel bir tanımlayıcıdır. İçinde iOS için Yerler SDK'sını kullanıyorsanız bir yerin kimliğini GMSPlace nesnesini tanımlayın. Yer kimliğini saklayabilir ve bu kimliği kullanarak GMSPlace daha sonra tekrar deneyin.

Kimliğe göre bir yer almak için şu numarayı arayın: GMSPlacesClient fetchPlaceFromPlaceID:, aşağıdaki parametreleri iletir:

  • Yer kimliği içeren bir dize.
  • Döndürülecek veri türlerini belirten bir veya daha fazla GMSPlaceField.
  • Otomatik tamamlama sorgusunu sonuçlandırmak için arama yapılırsa bir oturum jetonu. Aksi takdirde nil değerini geçirin.
  • Sonucu işlemek için GMSPlaceResultCallback.

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 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ız, GMSPlacesClient lookUpPlaceID:callback: ayarı varsa uygulamada ilişkilendirmeler de gösterilmelidir. Dokümanları görüntüleyin: ilişkilendirmeler.

Yer kimlikleri hakkında daha fazla bilgi

iOS için Yerler SDK'sında kullanılan yer kimliği kullanıldığı yer Places API, Android için Yerler SDK'sı 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.

Daha fazla bilgi için yer kimliğine genel bakış.