Bir yerin coğrafi kodunu alma

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 adresin coğrafi kodunu oluşturduğunuzda yer kimliklerini alma Ayrıca Yer Ayrıntıları (Yeni), Text Search (Yeni) ve Yakında Arama (Yeni) gibi birçok başka API'den de yer kodu alabilirsiniz.

Yer coğrafi kodlama istekleri

place geocoding isteği, şu biçimde bir HTTP GET isteğidir:

https://geocode.googleapis.com/v4/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ğinin bir parçası olarak üstbilgilerde iletin. Örneğin:

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

Alternatif olarak, curl komutunda:

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

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

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

  • https://www.googleapis.com/auth/maps-platform.geocode — Tüm Geocoding API yöntemleriyle kullanılabilir.
  • https://www.googleapis.com/auth/maps-platform.geocode.place — Yer coğrafi kodlaması için yalnızca GeocodePlace ile birlikte kullanın.

Ayrıca, tüm Geocoding API yöntemleri için genel https://www.googleapis.com/auth/cloud-platform kapsamını kullanabilirsiniz. Bu kapsam, tüm yöntemlere erişime izin veren genel bir kapsam olduğundan geliştirme sırasında kullanışlıdır ancak üretimde kullanışlı 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 nesnesi döndürür.

Geocoding API yanıtları, GeocodeResult içinde iki ana yerde types dizileri içerir:

  1. GeocodeResult.types: Bu dizi, sonucun genel türlerini gösterir. Olası değerler, Places API tarafından kullanılan yer türlerinden alınır. Daha fazla bilgi için Yer türleri Tablo A ve B'ye bakın.
  2. GeocodeResult.addressComponents[].types: Her adres bileşeninde, adresin ilgili bölümünün türünü belirten bir types dizisi bulunur. Bu değerler, Places API tarafından kullanılan Adres türleri ve adres bileşeni türleri tablosundan alınır.

JSON nesnesinin tamamı şu biçimdedir:

{
  "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: Okunabilir adresini almak istediğiniz yerin kimliği. Yer kimliği, diğer Google API'leriyle kullanılabilen benzersiz bir tanımlayıcıdır. Örneğin, Roads API tarafından döndürülen placeID değerini kullanarak, tutturulmuş bir noktanın adresini alabilirsiniz. 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ği için bu liste eksik olabilir.
    • languageCode sağlanmazsa API, varsayılan olarak konumun yerel dilini ve komut dosyasını 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 okunabilir bir açık adres sağlamak için elinden geleni yapar. Bu hedefi gerçekleştirmek için tercih edilen dili dikkate alarak yerel dildeki sokak adreslerini döndürür. Gerekirse bu adresler, kullanıcı tarafından okunabilir bir alfabeye çevrilir. Diğer tüm adresler tercih edilen dilde döndürülür. Adres bileşenlerinin tümü aynı dilde döndürülür. Bu dil, ilk bileşenden seçilir.
    • Tercih edilen dilde bir ad yoksa API en yakın eşleşmeyi kullanır.
    • Tercih edilen dil, API'nin döndürmeyi seçtiği sonuç kümesi ve bu sonuçların döndürülme sırası üzerinde küçük bir etkiye sahiptir. Coğrafi kodlayıcı, kısaltmaları dile bağlı olarak 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

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

    Bir adresi coğrafi olarak kodlarken (ileri coğrafi kodlama) bu parametre, hizmetten gelen sonuçları belirtilen bölgeyle sınırlayabilir ancak tamamen kısıtlamaz. Bir konum veya yer coğrafi olarak kodlanırken (ters coğrafi kodlama veya yer coğrafi kodlama) bu parametre, adresi biçimlendirmek için kullanılabilir. Bu parametre, her durumda geçerli yasaya göre sonuçları etkileyebilir.

  • FieldMask

    Yanıtta döndürülecek alanları belirtmek için bir yanıt alanı maskesi oluşturun. Yanıt alanı maskesini, $fields veya fields URL parametresini ya da X-Goog-FieldMask HTTP üst bilgisini kullanarak yönteme iletin. Örneğin, aşağıdaki istek yalnızca yanıtın formattedAddress alanını döndürür.

    curl -X GET -H 'Content-Type: application/json' \
    -H 'X-Goog-FieldMask: formattedAddress' \
    -H "X-Goog-Api-Key: API_KEY" \
    "https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"
    
    Yanıt:
    {
      "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA"
    }

    Daha fazla bilgi için Döndürülecek alanları seçme bölümünü inceleyin.