Yer coğrafi kodlaması

Avrupa Ekonomik Alanı (AEA) geliştiricileri

Yer coğrafi kodlaması, yer kimliğinden adres almanıza olanak tanır.

Yer kimlikleri, Google Rehber veritabanında ve Google Haritalar'da bir yeri benzersiz şekilde tanımlar. Bir adresi coğrafi kodladığınızda yer kimliklerini alın. Yer Ayrıntıları (Yeni), Metin Arama (Yeni) ve Yakındakiler Arama (Yeni) gibi diğer birçok API'den de yer kimliği alabilirsiniz.

Yer coğrafi kodlama istekleri

Yer coğrafi kodlama isteği, aşağıdaki biçimde bir HTTP GET isteğidir:

https://geocode.googleapis.com/v4beta/geocode/places/PLACE_ID

Burada PLACE_ID, ilgilenilen konumun yer kimliğini içerir.

Diğer tüm parametreleri URL parametreleri olarak veya API anahtarı ya da alan maskesi gibi parametreler için GET isteği kapsamında üstbilgilerde iletin. Örneğin:

https://geocode.googleapis.com/v4beta/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?key=API_KEY

Veya bir curl komutunda:

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
"https://geocode.googleapis.com/v4beta/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"

İstek göndermek için OAuth'ı kullanma

Coğrafi Kodlama API'si v4, kimlik doğrulama için OAuth 2.0'ı destekler. Coğrafi Kodlama API'si ile OAuth'u kullanmak için OAuth jetonuna doğru kapsam atanmalıdır. Geocoding API, yer coğrafi kodlamasıyla birlikte kullanılmak üzere aşağıdaki kapsamları destekler:

  • https://www.googleapis.com/auth/maps-platform.geocode — Tüm Geocoding API uç noktalarıyla kullanılır.
  • https://www.googleapis.com/auth/maps-platform.geocode.place — Yer coğrafi kodlaması için yalnızca GeocodePlace ile kullanın.

Ayrıca, tüm Geocoding API uç noktaları için genel https://www.googleapis.com/auth/cloud-platformkapsamını da kullanabilirsiniz. Bu kapsam, tüm uç noktalara erişime izin veren genel bir kapsam olduğundan geliştirme sırasında faydalıdır ancak üretimde faydalı değildir.

Daha fazla bilgi ve örnek için OAuth'u kullanma başlıklı makaleyi inceleyin.

Yer coğrafi kodlama yanıtları

Yer coğrafi kodlaması, yer kimliğine karşılık gelen yeri temsil eden bir GeocodeResult obje döndürür.

JSON nesnesinin tamamı şu şekildedir:

{
  "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw",
  "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw",
  "location": {
    "latitude": 37.4220541,
    "longitude": -122.08532419999999
  },
  "granularity": "ROOFTOP",
  "viewport": {
    "low": {
      "latitude": 37.4209489697085,
      "longitude": -122.08846930000001
    },
    "high": {
      "latitude": 37.4236469302915,
      "longitude": -122.0829156
    }
  },
  "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
  "postalAddress": {
    "regionCode": "US",
    "languageCode": "en",
    "postalCode": "94043",
    "administrativeArea": "CA",
    "locality": "Mountain View",
    "addressLines": [
      "1600 Amphitheatre Pkwy"
    ]
  },
  "addressComponents": [
    {
      "longText": "1600",
      "shortText": "1600",
      "types": [
        "street_number"
      ]
    },
    {
      "longText": "Amphitheatre Parkway",
      "shortText": "Amphitheatre Pkwy",
      "types": [
        "route"
      ],
      "languageCode": "en"
    },
    {
      "longText": "Mountain View",
      "shortText": "Mountain View",
      "types": [
        "locality",
        "political"
      ],
      "languageCode": "en"
    },
    {
      "longText": "Santa Clara County",
      "shortText": "Santa Clara County",
      "types": [
        "administrative_area_level_2",
        "political"
      ],
      "languageCode": "en"
    },
    {
      "longText": "California",
      "shortText": "CA",
      "types": [
        "administrative_area_level_1",
        "political"
      ],
      "languageCode": "en"
    },
    {
      "longText": "United States",
      "shortText": "US",
      "types": [
        "country",
        "political"
      ],
      "languageCode": "en"
    },
    {
      "longText": "94043",
      "shortText": "94043",
      "types": [
        "postal_code"
      ]
    }
  ],
  "types": [
    "establishment",
    "point_of_interest"
  ]
}

Gerekli parametreler

  • place: Kullanıcı tarafından okunabilir adresini almak istediğiniz yerin yer kimliği. Yer kimliği, diğer Google API'leriyle kullanılabilen benzersiz bir tanımlayıcıdır. Örneğin, bir noktanın adresini almak için Roads API tarafından döndürülen placeID değerini kullanabilirsiniz. Yer kimlikleri hakkında daha fazla bilgi için Yer kimlikleri başlıklı makaleyi inceleyin.

İsteğe bağlı parametreler

  • languageCode

    Sonuçların döndürüleceği dil.

    • Desteklenen dillerin listesini inceleyin. Google, desteklenen dilleri sık sık güncellediğinden bu liste tam olmayabilir.
    • languageCode sağlanmazsa API varsayılan olarak en değerini kullanır. Geçersiz bir dil kodu belirtirseniz API INVALID_ARGUMENT hatası döndürür.
    • API, hem kullanıcı hem de yerel halk tarafından okunabilen bir açık adres sağlamak için elinden geleni yapar. Bu hedefe ulaşmak için sokak adreslerini yerel dilde döndürür. Gerekirse tercih edilen dile göre, kullanıcı tarafından okunabilir bir yazım sistemine dönüştürülür. Diğer tüm adresler ise tercih edilen dilde döndürülür. Adres bileşenlerinin tümü, ilk bileşenden seçilen aynı dilde döndürülür.
    • Tercih edilen dilde bulunmayan bir ad varsa API en yakın eşlemeyi kullanır.
    • Tercih edilen dil, API'nin döndürmeyi seçtiği sonuç grubu ve bu sonuçların döndürülme sırası üzerinde küçük bir etkiye sahiptir. Coğrafi kodlayıcı, kısaltmaları dile göre farklı şekilde yorumlar. Örneğin, sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlılar.
  • regionCode

    Bölge kodu, iki karakterli CLDR kodu değeri olarak. Varsayılan değer yoktur. Çoğu CLDR kodu, ISO 3166-1 kodlarıyla aynıdır.

    Bir adresi coğrafi kodlarken ileri coğrafi kodlama, bu parametre hizmetten belirtilen bölgeye gelen sonuçları etkileyebilir ancak tamamen kısıtlayamaz. Bir konumu veya yeri coğrafi kodlarken, tersine coğrafi kodlama ya da yer coğrafi kodlaması yapılırken bu parametre, adresi biçimlendirmek için kullanılabilir. Bu parametre, geçerli yasaya bağlı olarak sonuçları her durumda etkileyebilir.