Yer kimlikleri

Platform seçin: Android iOS JavaScript Web Hizmeti

Yer kimlikleri, Google Rehber veritabanında ve Google Haritalar'da bir yeri benzersiz şekilde tanımlar. Yer kimlikleri aşağıdaki Haritalar API'lerine yapılan isteklerde kabul edilmektedir:

  • Geocoding API web hizmetinde bir Yer Kimliği için adres alma ve Coğrafi Kodlama Hizmeti, Maps JavaScript API.
  • Başlangıç, hedef ve ara ara noktaları belirtmek üzere Routes API ve Directions API'si web hizmeti ve Yol Tarifi Hizmeti, Maps JavaScript API.
  • Routes API'de kaynakları ve hedefleri belirterek Mesafe Matrisi API web hizmeti ve Mesafe Matrisi Hizmeti, Maps JavaScript API.
  • Places API web hizmetinde, Android için Yerler SDK'sı, iOS için Yerler SDK'sı ve Yerler Kitaplığı'nda Yer Ayrıntılarını alma.
  • Maps Embed API'de Yer Kimliği parametrelerini kullanma.
  • Haritalar URL'lerindeki arama sorguları alınıyor.
  • Roads API'de hız sınırları gösteriliyor.
  • Sınırlar için veriye dayalı stil oluşturma amacıyla sınır poligonlarını bulma ve stil özelliklerini ayarlama.

Belirli bir yerin kimliğini bulma

Belirli bir yerin yer kimliğini mi arıyorsunuz? Yer kimliğini kullanın bulmak için aşağıdaki bulucuyu kullanın:

Alternatif olarak göster Maps JavaScript API'deki koduyla birlikte yer kimliği bulucu belgelerinden faydalanabilirsiniz.

Genel Bakış

Yer kimliği, bir yeri benzersiz şekilde tanımlayan metinsel bir tanımlayıcıdır. İlgili içeriği oluşturmak için kullanılan tanımlayıcının uzunluğu değişebilir (Yer Kimlikleri için maksimum uzunluk yoktur). Örnekler:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

Yer kimlikleri, işletmeler, önemli noktalar, işletmeler ve diğer konumlar dahil olmak üzere kavşaklar bulunuyor. Aynı yer veya konumda, birden fazla yer kimliğine sahip. Yer kimlikleri zaman içinde değişebilir.

Aynı yer kimliğini Places API'de ve bir ve Google Maps Platform API'leri için geçerlidir. Örneğin, aşağıdakileri yapmak için aynı yer kimliğini kullanabilirsiniz: Şurada bir yere referans ver: Places API'yi Haritalar JavaScript API'si Geocoding API Haritalar Yerleştirme API'si ve Roads API hakkında daha fazla bilgi edinin.

Yer kimliğini kullanarak yer ayrıntılarını alın

Yer kimliklerini kullanmanın yaygın bir yolu, bir yeri aramaktır (Places API ile veya Yerler kitaplığı'ndaki izinleri içeriyorsa, yer ayrıntılarını almak için yer kimliği döndürdü. Yer kimliğini ve bu yeri kullanarak aynı yer ayrıntılarını daha sonra alabilirsiniz. Şu konu hakkında bilgi edinin: yer kimliklerini kaydetme bölümünü inceleyin.

iOS için Yerler SDK'sının kullanımı örneği

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

Daha sonra kullanmak üzere yer kimliklerini kaydedin

Yer kimlikleri, Bölüm 3.2.3(b) Google Haritalar Platformu Hizmet Şartları'nı kabul etmiş olursunuz. Bu nedenle, yer kimliği değerlerini daha sonra kullanmak üzere pek de iyi olmadığını unutmayın.

Depolanan yer kimliklerini yenileme

12 aydan eski yer kimliklerini yenilemenizi öneririz. Siz alan kimlik bilgilerini ücretsiz olarak yenileyebilir. Yer Ayrıntıları isteği, yalnızca GMSPlaceFieldPlaceID belirterek fields parametresindeki alana girin. Bu çağrı, Yer Ayrıntıları - Kimlik Yenileme SKU.

Bu istek, NOT_FOUND durumunu da döndürebilir girin. Stratejilerden biri, her yeri döndüren orijinal isteği saklamaktır Kimlik. Bir yer kimliği geçersiz hale gelirse, yeni bir alan adı almak için bu isteği sonuç. Bu sonuçlar orijinal yeri içerebilir veya içermeyebilir. Ancak bu istek ücretlidir.

Yer kimlikleri kullanılırken karşılaşılan hata kodları

INVALID_REQUEST durum kodu, yer kimliği geçerli değil. INVALID_REQUEST, yer kimliği kısaltılmış veya başka şekilde değiştirilmiştir ve artık doğru değildir.

NOT_FOUND durum kodu, belirtilen yer kimliğinin olduğunu gösterir geçerliliğini yitirmişti. Bir işletme kapanırsa veya bir yere taşınırsa yer kimliği geçersiz olabilir. bir konumdur. Yer kimlikleri, Google'daki büyük ölçekli güncellemeler nedeniyle değişebilir. Haritalar veritabanı. Bu gibi durumlarda, bir yer yeni bir yer kimliği alabilir ve eski konum kimliği Kimlik, NOT_FOUND yanıtı döndürür.

Özellikle, bazı yer kimlikleri bazen, NOT_FOUND yanıtı yoksa API, yanıt verelim. Bu yer kimliği türleri şunlardır:

  • Google Haritalar'da tam adres olarak bulunmayan açık adresler, ancak bir adres aralığından çıkarımda bulunur.
  • İsteğin aynı zamanda bir şehri veya şehir.
  • Kesişimler.
  • subpremise türünde adres bileşenine sahip yerler.

Bu kimlikler genellikle uzun bir dizedir (maksimum uzunluk yoktur.) bakın). Örneğin:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4