Tersine coğrafi kodlama, harita konumunu okunabilir bir adrese dönüştürür. Harita konumunu, konumun enlem ve boylam koordinatlarıyla gösterirsiniz.
Bir konumu tersine coğrafi kodladığınızda yanıtta şunlar yer alır:
- Adresin yer kimliği
- Adresin Plus Code'ları
- Adres ayrıntıları
Bu API, en ayrıntılı sokak adresinden mahalleler, şehirler, ilçeler ve eyaletler gibi daha az ayrıntılı siyasi birimlere kadar farklı adres türleri döndürür. En doğru adres genellikle ilk sonuçtur. Belirli bir adres türünü eşleştirmek istiyorsanız types
parametresini kullanın.
Tersine coğrafi kodlama isteği
Bir ters coğrafi kodlama isteği, HTTP GET isteğidir. Konumu yapılandırılmamış dize olarak belirtebilirsiniz:
https://geocode.googleapis.com/v4beta/geocode/location/LATITUDE,LONGITUDE
Veya sorgu parametreleriyle gösterilen yapılandırılmış bir enlem ve boylam koordinatları kümesi olarak:
https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE
Genellikle, bir HTML formunda yakalanan konum bileşenlerini işlerken yapılandırılmış biçimi kullanırsınız.
Diğer tüm parametreleri URL parametreleri olarak veya API anahtarı ya da alan maskesi gibi parametreleri GET isteğinin bir parçası olarak başlıklarda iletin. Örneğin:
Yapılandırılmamış bir konum dizesi iletme
Yapılandırılmamış konum, enlem ve boylam koordinatlarının virgülle ayrılmış dizesi olarak biçimlendirilmiş bir konumdur:
https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?key=API_KEY
Alternatif olarak bir curl komutunda:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338"
Yapılandırılmış bir konum iletme
location
sorgu parametresini kullanarak yapılandırılmış konumu belirtin. Bu parametrenin türü LatLng
olmalıdır.
LatLng
nesnesi, enlem ve boylamı ayrı sorgu parametreleri olarak belirtmenize olanak tanır:
https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338 &key=API_KEY
İstek göndermek için OAuth'u kullanma
Geocoding API 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, tersine coğrafi kodlama ile 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.location
— Tersine coğrafi kodlama için yalnızcaGeocodeLocation
ile kullanın.
Ayrıca, tüm Geocoding API uç noktaları için genel https://www.googleapis.com/auth/cloud-platform
kapsamını kullanabilirsiniz. Bu kapsam, tüm uç noktalara 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ı makaleye bakın.
Tersine coğrafi kodlama yanıtı
Tersine coğrafi kodlama, aşağıdakileri içeren bir GeocodeLocationResponse
nesnesi döndürür:
Yeri temsil eden
results
dizisiGeocodeResult
nesneleri.Ters coğrafi kodlayıcı,
results
dizisinde birden fazla sonuç döndürüyor. Sonuçlar yalnızca posta adresleri değil, bir konumu coğrafi olarak adlandırmanın herhangi bir yoludur. Örneğin, Chicago şehrindeki bir nokta coğrafi olarak kodlandığında, coğrafi olarak kodlanan nokta sokak adresi, şehir (Chicago), eyalet (Illinois) veya ülke (ABD) olarak belirtilebilir. Tüm öğeler, coğrafi kodlayıcı için "adres" olarak kabul edilir. Ters coğrafi kod çözücü, bu türlerden herhangi birini geçerli sonuç olarak döndürür.PlusCode
türündekiplusCode
alanı, istekteki enlem ve boylamı en iyi şekilde yaklaştıran Plus Code'u içerir. Ayrıca,results
dizisinin her öğesi bir Artı Kodu içerir. Çözülen Artı Kodu ile istek noktası arasındaki mesafe 10 metrenin altında.
Tam JSON nesnesi şu biçimdedir:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJV-FZF7i7j4ARo4ZOUoecZFU", "placeId": "ChIJV-FZF7i7j4ARo4ZOUoecZFU", "location": { "latitude": 37.422588300000008, "longitude": -122.0846489 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.421239319708512, "longitude": -122.0859978802915 }, "high": { "latitude": 37.423937280291511, "longitude": -122.08329991970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "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": [ "street_address" ], "plusCode": { "globalCode": "849VCW83+PM", "compoundCode": "CW83+PM Mountain View, CA, USA" } }, { "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw", "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "location": { "latitude": 37.4220541, "longitude": -122.08532419999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4207051197085, "longitude": -122.08667318029148 }, "high": { "latitude": 37.423403080291493, "longitude": -122.08397521970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "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" ], "plusCode": { "globalCode": "849VCWC7+RV", "compoundCode": "CWC7+RV Mountain View, CA, USA" } }, ... ], "plusCode": { "globalCode": "849VCWF8+24H", "compoundCode": "CWF8+24H Mountain View, CA, USA" } }
Gerekli parametreler
konum
En yakın ve okunabilir adresi istediğiniz yeri belirten enlem ve boylam koordinatları.
İ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 kapsamlı olmayabilir.
-
languageCode
sağlanmazsa API varsayılan olaraken
değerini kullanır. Geçersiz bir dil kodu belirtirseniz APIINVALID_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 amaca ulaşmak için, tercih edilen dili dikkate alarak gerekirse kullanıcının okuyabileceği bir alfabeye çevrilmiş, yerel dildeki sokak adreslerini döndürür. 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 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
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 adres coğrafi kodlanırken (ileri coğrafi kodlama) bu parametre, hizmetin sonuçlarını belirtilen bölgeyle sınırlayabilir ancak tamamen kısıtlayamaz. Bir konum veya yer coğrafi olarak kodlanırken (tersine 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.
ayrıntı düzeyi
Granularity
tarafından tanımlandığı şekilde ayrı sorgu parametreleri olarak belirtilen bir veya daha fazla konum ayrıntı düzeyi. Birden fazlagranularity
parametresi belirtirseniz API, ayrıntı düzeylerinden herhangi biriyle eşleşen tüm adresleri döndürür.granularity
parametresi, aramayı belirtilen konum ayrıntılarıyla sınırlandırmaz. Bunun yerine,granularity
arama sonrası filtre olarak işlev görür. API, belirtilenlocation
için tüm sonuçları getirir, ardından belirtilen konum ayrıntı düzeyleriyle eşleşmeyen sonuçları atar.Hem
types
hem degranularity
öğesini belirtirseniz API yalnızca her ikisiyle de eşleşen sonuçları döndürür. Örneğin:https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP
&granularity=GEOMETRIC_CENTER &key=API_KEY türler
Ayrı sorgu parametreleri olarak belirtilen bir veya daha fazla adres türü. Birden fazla
types
parametresi belirtirseniz API, türlerden herhangi biriyle eşleşen tüm adresleri döndürür.types
parametresi, aramayı belirtilen adres türleriyle sınırlandırmaz. Bunun yerine,types
arama sonrası filtre olarak işlev görür. API, belirtilen konumla ilgili tüm sonuçları getirir ve ardından belirtilen adres türleriyle eşleşmeyen sonuçları siler.Hem
types
hem degranularity
öğesini belirtirseniz API yalnızca her ikisiyle de eşleşen sonuçları döndürür. Örneğin:https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?types=administrative_area_level_2
&types=locality &key=API_KEY Aşağıdaki değerler desteklenir:
Adres türleri ve adres bileşeni türleri
Yanıtın
GeocodeResult
gövdesindekitypes
dizisi, adres türünü belirtir. Adres türlerine örnek olarak açık adres, ülke veya siyasi birim verilebilir.GeocodeResult
gövdesininAddressComponents
alanındakitypes
dizisi, adresin her bir bölümünün türünü belirtir. Örneğin, bina numarası veya ülke.Adresler birden fazla türde olabilir. Türler "etiket" olarak kabul edilebilir. Örneğin, birçok şehir
political
velocality
türleriyle etiketlenir.Aşağıdaki türler desteklenir ve hem adres türü hem de adres bileşeni türü dizilerinde döndürülür:
Adres Türü Açıklama street_address
Açık adres. route
Adlandırılmış bir rota (ör. "US 101"). intersection
Genellikle iki ana yolun kesiştiği büyük bir kavşak. political
Siyasi bir tüzel kişi. Genellikle bu tür, bir idari birimin poligonunu gösterir. country
Ulusal siyasi varlık ve genellikle Coğrafi Kodlayıcı tarafından döndürülen en yüksek sıralı türdür. administrative_area_level_1
Ülke düzeyinin altındaki birinci dereceden sivil alan. ABD'de bu idari düzeyler eyaletlerdir. Bazı ülkelerde bu idari düzeyler bulunmaz. Çoğu durumda, administrative_area_level_1
kısa adları ISO 3166-2 alt bölümleri ve yaygın olarak kullanılan diğer listelerle yakından eşleşir. Ancak coğrafi kodlama sonuçlarımız çeşitli sinyallere ve konum verilerine dayandığından bu durum garanti edilmez.administrative_area_level_2
Ülke düzeyinin altındaki ikinci düzey sivil idari birim. Amerika Birleşik Devletleri'nde bu idari düzeyler ilçelerdir. Bazı ülkelerde bu idari düzeyler bulunmaz. administrative_area_level_3
Ülke düzeyinin altındaki üçüncü düzey sivil idari birim. Bu tür, küçük bir idari bölgeyi gösterir. Bazı ülkelerde bu idari düzeyler bulunmaz. administrative_area_level_4
Ülke düzeyinin altında dördüncü düzey bir sivil varlık. Bu tür, küçük bir idari bölgeyi gösterir. Bazı ülkelerde bu idari düzeyler bulunmaz. administrative_area_level_5
Ülke düzeyinin altında beşinci dereceden bir idari birim. Bu tür, küçük bir idari bölgeyi gösterir. Bazı ülkelerde bu idari düzeyler bulunmaz. administrative_area_level_6
Ülke düzeyinin altında altıncı dereceden bir idari birim. Bu tür, küçük bir idari bölgeyi gösterir. Bazı ülkelerde bu idari düzeyler bulunmaz. administrative_area_level_7
Ülke düzeyinin altındaki yedinci dereceden bir sivil varlık. Bu tür, küçük bir idari bölgeyi gösterir. Bazı ülkelerde bu idari düzeyler bulunmaz. colloquial_area
Tüzel kişi için yaygın olarak kullanılan alternatif bir ad. locality
Tüzel kişiliğe sahip bir şehir veya kasaba siyasi tüzel kişiliği. sublocality
Bir yerleşim biriminin altındaki birinci dereceden sivil alan. Bazı konumlar için sublocality_level_1
ilesublocality_level_5
arasındaki ek türlerden biri kullanılabilir. Her alt yerleşim birimi düzeyi, sivil bir varlıktır. Daha büyük sayılar, daha küçük bir coğrafi alanı gösterir.neighborhood
Adlandırılmış bir mahalle. premise
Adlandırılmış bir konum, genellikle ortak bir ada sahip bir bina veya binalar topluluğu. subpremise
Tesis düzeyinin altında, adreslenebilir bir varlık (ör. apartman, birim veya süit). plus_code
Enlem ve boylamdan elde edilen, kodlanmış bir konum referansı. Plus code'lar, sokak adreslerinin olmadığı yerlerde (binaların numaralandırılmadığı veya sokakların adlandırılmadığı yerler) sokak adreslerinin yerine kullanılabilir. Ayrıntılar için https://plus.codes adresini ziyaret edin. postal_code
Ülke içinde posta göndermek için kullanılan posta kodu. natural_feature
Belirgin bir doğal alan. airport
Havalimanı park
Adlandırılmış bir park. point_of_interest
Adlandırılmış bir önemli yer. Bu "ÖY"ler genellikle "Empire State Binası" veya "Eyfel Kulesi" gibi başka bir kategoriye kolayca uymayan, öne çıkan yerel varlıklardır. Boş bir tür listesi, belirli adres bileşeni için bilinen bir tür olmadığını gösterir (örneğin, Fransa'da Lieu-dit).