Coğrafi kodlama isteği ve yanıtı

İstek

Coğrafi Kodlama API'si isteği aşağıdaki biçimdedir:

https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

Bu örnekte outputFormat, aşağıdaki değerlerden biri olabilir:

  • json (önerilen), JavaScript Object Notation'daki (JSON) çıkışı belirtir veya
  • xml, XML'deki çıkışı gösterir

HTTPS gerekli.

Bazı parametreler zorunlu, bazıları ise isteğe bağlıdır. URL'lerde standart olduğu gibi parametreler, "ve" (&) karakteri kullanılarak ayrılır.

Her istek türü için farklı parametreler kullanılabildiğinden bu sayfanın geri kalanında, coğrafi kodlama ve ters coğrafi kodlama ayrı ayrı açıklanmaktadır.

Coğrafi kodlama (enlem/boylam arama) parametreleri

Coğrafi kodlama isteğindeki gerekli parametreler:

  • address — Coğrafi kodlamak istediğiniz açık adres veya artı kodu. Adresleri, ilgili ülkenin ulusal posta servisi tarafından kullanılan biçime göre belirtin. İşletme adları ve birim, daire veya kat numaraları gibi ek adres öğelerinden kaçınılmalıdır. Açık adres öğeleri boşluklarla ayrılmalıdır (burada %20 öğesine çıkışlı URL şeklinde gösterilmektedir):
    address=24%20Sussex%20Drive%20Ottawa%20ON
    Artı kodlarını burada gösterildiği gibi biçimlendirin (artı işaretler %2B için URL çıkışlı, boşluklar ise %20 için URL çıkışlıdır):
    • global kod, 4 karakterli alan kodu ve 6 veya daha uzun bir yerel koddur (849VCWC8+R9, 849VCWC8%2BR9 şeklindedir).
    • bileşik kod, açık bir konumu olan 6 karakter veya daha uzun bir yerel koddur (CWC8+R9 Mountain View, CA, ABD, CWC8%2BR9%20Mountain%20View%20CA%20USA şeklindedir).

    --OR--
    components — Dikey çizgiyle (|) ayrılmış öğelerin yer aldığı bir bileşen filtresi. Bileşen filtresi, address sağlanırsa isteğe bağlı bir parametre olarak da kabul edilir. Bileşen filtresindeki her öğe, bir component:value çiftinden oluşur ve coğrafi kodlayıcıdan gelen sonuçları tamamen kısıtlar. Bileşen filtreleme hakkında daha fazla bilgiyi aşağıda bulabilirsiniz.
  • key — Uygulamanızın API anahtarı. Bu anahtar, kota yönetimi amacıyla uygulamanızı tanımlar. Nasıl anahtar alacağınızı öğrenin.

Daha fazla bilgi için lütfen SSS bölümüne bakın.

Coğrafi Kodlama isteğindeki isteğe bağlı parametreler:

  • bounds — Coğrafi kodlamada daha belirgin sonuçlar elde edilecek görüntü alanının sınırlayıcı kutusu. Bu parametre yalnızca coğrafi kodlayıcıdan gelen sonuçları etkiler, tam olarak kısıtlamaz. (Daha fazla bilgi için aşağıdaki Görünüme Ağırlık Verme konusuna bakın.)
  • language — Sonuçların döndürüleceği dil.
    • Desteklenen dillerin listesini inceleyin. Google, desteklenen dilleri sıklıkla güncellediğinden bu liste tam kapsamlı olmayabilir.
    • language sağlanmazsa coğrafi kodlayıcı, Accept-Language başlığında belirtilen tercih edilen dili veya isteğin gönderildiği alanın ana dilini kullanmaya çalışır.
    • Coğrafi kodlayıcı, hem kullanıcı hem de bölge sakinlerinin okuyabileceği bir açık adres sağlamak için elinden geleni yapar. Bu hedefe ulaşmak için yerel dildeki açık adresleri, gerekirse kullanıcı tarafından okunabilecek bir alfabeye dönüştürülerek tercih edilen dile uyarlar. Diğer tüm adresler 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.
    • Bir ad, tercih edilen dilde mevcut değilse coğrafi kodlayıcı en yakın eşleşmeyi kullanır.
    • Tercih edilen dilin, API'nin döndürmeyi seçtiği sonuç kümesi ve döndürülme sırası üzerinde küçük bir etkisi vardır. Coğrafi kodlayıcı, kısaltmaları dile bağlı olarak farklı şekillerde yorumlar. Örneğin, sokak türlerinin kısaltmaları ya da bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlı kelimeler olabilir. Örneğin, Macarcada utca ve tér sırasıyla sokak ve kare için eş anlamlıdır.
  • region — ccTLD ("üst düzey alan") olarak iki karakterlik değer olarak belirtilen bölge kodu. Bu parametre yalnızca coğrafi kodlayıcıdan gelen sonuçları etkiler, tam olarak kısıtlamaz. (Daha fazla bilgi için aşağıdaki Bölgeye Ağırlık Verme bölümüne bakın.) Bu parametre, geçerli yasalara göre sonuçları da etkileyebilir.
  • components: Öğelerin dikey çizgiyle (|) ayrılmış olduğu bir bileşen filtresi. İstek address içermiyorsa bileşen filtresi gereklidir. Bileşen filtresindeki her öğe, bir component:value çiftinden oluşur ve coğrafi kodlayıcıdan gelen sonuçları tamamen kısıtlar. Bileşen filtreleme hakkında daha fazla bilgiyi aşağıda bulabilirsiniz.
  • extra_computations: Bu parametre için izin verilen tek değer ADDRESS_DESCRIPTORS değeridir. Daha fazla bilgi için adres tanımlayıcıları bölümüne bakın.

Yanıtlar

Coğrafi kodlama yanıtları, URL isteği içinde output işareti ile belirtilen biçimde veya varsayılan olarak JSON biçiminde döndürülür.

Bu örnekte Geocoding API, "1600 Amphitheatre Parkway, Mountain View, CA" adresiyle ilgili bir sorgu için json yanıtı istiyor.

Bu istek, JSON output işaretinin kullanımını gösterir:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

Bu istek, XML output işaretinin kullanımını gösterir:

https://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

Örnek JSON ve XML yanıtlarını görmek için aşağıdaki sekmeleri seçin.

JSON

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "1600",
                    "short_name": "1600",
                    "types": [
                        "street_number"
                    ]
                },
                {
                    "long_name": "Amphitheatre Parkway",
                    "short_name": "Amphitheatre Pkwy",
                    "types": [
                        "route"
                    ]
                },
                {
                    "long_name": "Mountain View",
                    "short_name": "Mountain View",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "Santa Clara County",
                    "short_name": "Santa Clara County",
                    "types": [
                        "administrative_area_level_2",
                        "political"
                    ]
                },
                {
                    "long_name": "California",
                    "short_name": "CA",
                    "types": [
                        "administrative_area_level_1",
                        "political"
                    ]
                },
                {
                    "long_name": "United States",
                    "short_name": "US",
                    "types": [
                        "country",
                        "political"
                    ]
                },
                {
                    "long_name": "94043",
                    "short_name": "94043",
                    "types": [
                        "postal_code"
                    ]
                },
                {
                    "long_name": "1351",
                    "short_name": "1351",
                    "types": [
                        "postal_code_suffix"
                    ]
                }
            ],
            "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
            "geometry": {
                "location": {
                    "lat": 37.4222804,
                    "lng": -122.0843428
                },
                "location_type": "ROOFTOP",
                "viewport": {
                    "northeast": {
                        "lat": 37.4237349802915,
                        "lng": -122.083183169709
                    },
                    "southwest": {
                        "lat": 37.4210370197085,
                        "lng": -122.085881130292
                    }
                }
            },
            "place_id": "ChIJRxcAvRO7j4AR6hm6tys8yA8",
            "plus_code": {
                "compound_code": "CWC8+W7 Mountain View, CA",
                "global_code": "849VCWC8+W7"
            },
            "types": [
                "street_address"
            ]
        }
    ],
    "status": "OK"
}

JSON yanıtının iki kök öğe içerdiğini unutmayın:

  • "status", istekte meta verileri içeriyor. Aşağıdaki Durum kodları bölümüne bakın.
  • "results", coğrafi olarak kodlanmış adres bilgileri ve geometri bilgilerinden oluşan bir dizi içerir.

Adres aramaları için genellikle "results" dizisinde yalnızca bir giriş döndürülür. Bununla birlikte, adres sorguları belirsiz olduğunda coğrafi kodlayıcı birkaç sonuç döndürebilir.

XML

<GeocodeResponse>
    <status>OK</status>
    <result>
        <type>street_address</type>
        <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA</formatted_address>
        <address_component>
            <long_name>1600</long_name>
            <short_name>1600</short_name>
            <type>street_number</type>
        </address_component>
        <address_component>
            <long_name>Amphitheatre Parkway</long_name>
            <short_name>Amphitheatre Pkwy</short_name>
            <type>route</type>
        </address_component>
        <address_component>
            <long_name>Mountain View</long_name>
            <short_name>Mountain View</short_name>
            <type>locality</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>Santa Clara County</long_name>
            <short_name>Santa Clara County</short_name>
            <type>administrative_area_level_2</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>California</long_name>
            <short_name>CA</short_name>
            <type>administrative_area_level_1</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>United States</long_name>
            <short_name>US</short_name>
            <type>country</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>94043</long_name>
            <short_name>94043</short_name>
            <type>postal_code</type>
        </address_component>
        <geometry>
            <location>
                <lat>37.4224428</lat>
                <lng>-122.0842467</lng>
            </location>
            <location_type>ROOFTOP</location_type>
            <viewport>
                <southwest>
                    <lat>37.4212648</lat>
                    <lng>-122.0856069</lng>
                </southwest>
                <northeast>
                    <lat>37.4239628</lat>
                    <lng>-122.0829089</lng>
                </northeast>
            </viewport>
        </geometry>
        <place_id>ChIJeRpOeF67j4AR9ydy_PIzPuM</place_id>
        <plus_code>
            <global_code>849VCWC8+X8</global_code>
            <compound_code>CWC8+X8 Mountain View, CA</compound_code>
        </plus_code>
    </result>
</GeocodeResponse>

XML yanıtının tek bir <GeocodeResponse> ve iki üst düzey öğeden oluştuğunu unutmayın:

  • <status>, istekte meta verileri içeriyor. Aşağıdaki Durum kodları bölümüne bakın.
  • Sıfır veya daha fazla <result> öğesi. Her biri coğrafi olarak kodlanmış adres bilgileri ve geometri bilgilerinden oluşan tek bir küme içerir.

XML yanıtı, JSON yanıtından oldukça uzundur. Bu nedenle, hizmetiniz herhangi bir nedenle xml gerektirmediği sürece tercih edilen çıkış işareti olarak json kullanmanızı öneririz. Ayrıca, XML ağaçlarını işlemek için uygun düğüm ve öğelere referans verebilmeniz için biraz özen gerekir. Çıkış işlemeyle ilgili önerilen bazı tasarım kalıpları için XPath ile XML ayrıştırma bölümüne bakın.

  • XML sonuçları bir kök <GeocodeResponse> öğesinde sarmalanır.
  • JSON, birden çok öğe içeren girişleri çoğul diziler (types) ile belirtirken XML ise bunları birden çok tekil öğe (<type>) kullanarak belirtir.
  • Boş öğeler, JSON'da boş diziler aracılığıyla ancak XML'de böyle bir öğenin bulunmamasıyla belirtilir. Sonuç üretmeyen bir yanıt, JSON'de boş bir results dizisi döndürmez ancak XML'de <result> öğesi döndürmez.

Durum kodları

Coğrafi Kodlama yanıt nesnesindeki "status" alanı, isteğin durumunu içerir ve coğrafi kodlamanın neden çalışmadığını öğrenmenize yardımcı olacak hata ayıklama bilgilerini içerebilir. "status" alanı şu değerleri içerebilir:

  • "OK", hiçbir hata oluşmadığını belirtir; adresin başarıyla ayrıştırıldığını ve en az bir coğrafi kod döndürüldüğünü gösterir.
  • "ZERO_RESULTS", coğrafi kodlamanın başarılı olduğunu ancak hiçbir sonuç döndürmediğini gösterir. Bu durum, coğrafi kodlayıcıya var olmayan bir address kodundan geçilmesi durumunda ortaya çıkabilir.
  • OVER_DAILY_LIMIT aşağıdakilerden herhangi birini gösterir:
    • API anahtarı eksik veya geçersiz.
    • Hesabınızda faturalandırma etkinleştirilmedi.
    • Kendi kendine belirlenen kullanım sınırı aşıldı.
    • Belirtilen ödeme yöntemi artık geçerli değil (örneğin, bir kredi kartının süresi dolmuş).

    Bu sorunu nasıl düzelteceğinizi öğrenmek için Haritalar hakkında SSS sayfasına bakın.

  • "OVER_QUERY_LIMIT", kotanızı aştığınızı gösteriyor.
  • "REQUEST_DENIED", isteğinizin reddedildiğini gösterir.
  • "INVALID_REQUEST" genellikle sorgunun (address, components veya latlng) eksik olduğunu gösterir.
  • "UNKNOWN_ERROR", isteğin bir sunucu hatası nedeniyle işlenemediğini gösterir. Tekrar denerseniz istek başarılı olabilir.

Hata mesajları

Coğrafi kodlayıcı, OK dışında bir durum kodu döndürdüğünde, Coğrafi Kodlama yanıt nesnesi içinde ek bir error_message alanı olabilir. Bu alanda, belirtilen durum kodunun nedenleri hakkında daha ayrıntılı bilgiler yer alır.

Sonuçlar

Coğrafi kodlayıcı, sonuçları döndürdüğünde bunları bir (JSON) results dizisi içine yerleştirir. Coğrafi kodlayıcı hiçbir sonuç döndürmese bile (adresin olmaması gibi) yine de boş bir results dizisi döndürür. (XML yanıtları sıfır veya daha fazla <result> öğesinden oluşur.)

Normal bir sonuç aşağıdaki alanları içerir:

  • types[] dizisi, döndürülen sonucun türünü gösterir. Bu dizi, sonuçta döndürülen özelliğin türünü tanımlayan bir veya daha fazla etiket kümesi içerir. Örneğin, "Şikago"nun coğrafi kodu, "Chicago"nun bir şehir olduğunu belirten "locality" (yerellik) değerini ve aynı zamanda bu ülkenin politik bir varlık olduğunu belirten "politik" değerini döndürür. Adres bileşeni için bilinen bir tür olmadığında bileşenlerde boş tür dizisi olabilir. API, gerektiğinde yeni tür değerleri ekleyebilir. Daha fazla bilgi için Adres türleri ve adres bileşenleri başlıklı makaleye bakın.
  • formatted_address, bu konumun kullanıcılar tarafından okunabilen adresini içeren bir dizedir.

    Bu adres genellikle posta adresine eşdeğerdir. Birleşik Krallık gibi bazı ülkelerde, lisanslama kısıtlamaları nedeniyle gerçek posta adreslerinin dağıtımına izin verilmediğini unutmayın.

    Biçimlendirilmiş adres, mantıksal olarak bir veya daha fazla adres bileşeninden oluşur. Örneğin, "111 8th Avenue, New York, NY" adresi şu bileşenlerden oluşur: "111" (sokak numarası), "8th Avenue" (rota), "New York" (şehir) ve "NY" (ABD eyaleti).

    Biçimlendirilmiş adresi programlı olarak ayrıştırmayın. Bunun yerine, biçimlendirilmiş adres alanına ek olarak API yanıtının içerdiği bağımsız adres bileşenlerini kullanmanız gerekir.

  • address_components[], bu adres için geçerli olan ayrı bileşenleri içeren bir dizidir.

    Her adres bileşeni genellikle aşağıdaki alanları içerir:

    • types[], adres bileşeninin türünü gösteren bir dizidir. Desteklenen türler listesine bakın.
    • long_name, Coğrafi Kodlayıcı tarafından döndürülen adres bileşeninin tam metin açıklaması veya adıdır.
    • short_name, varsa adres bileşeninin kısaltılmış metin adıdır. Örneğin, Alaska eyaleti için bir adres bileşeninde 2 harfli posta kısaltması kullanılarak long_name "Alaska" ve short_name "AK" bulunabilir.

    address_components[] dizisiyle ilgili aşağıdaki gerçeklere dikkat edin:

    • Adres bileşenleri dizisi, formatted_address öğesinden daha fazla bileşen içerebilir.
    • Dizi, formatted_address içinde yer alanların dışında, bir adres içeren tüm siyasi varlıkları içermeyebilir. Belirli bir adres içeren tüm siyasi varlıkları almak için tersine coğrafi kodlama kullanmanız ve adresin enlem/boylam değerlerini isteğe parametre olarak iletmeniz gerekir.
    • Yanıt biçiminin istekler arasında aynı kalacağı garanti edilmez. Özellikle address_components sayısı, istenen adrese göre değişir ve aynı adres için zaman içinde değişebilir. Bir bileşen, dizideki konumunu değiştirebilir. Bileşenin türü değişebilir. Daha sonraki bir yanıtta belirli bir bileşen eksik olabilir.

    Bileşen dizisini işlemek için yanıtı ayrıştırıp ifadeler aracılığıyla uygun değerleri seçmeniz gerekir. Yanıtları ayrıştırma rehberine bakın.

  • postcode_localities[], bir posta kodunda yer alan en fazla 100 yerleşimi belirten bir dizidir. Bu yalnızca sonuçta birden fazla şehir içeren bir posta kodu olduğunda mevcuttur.
  • geometry aşağıdaki bilgileri içerir:
    • location, coğrafi olarak kodlanmış enlem ve boylam değerini içeriyor. Normal adres aramaları için bu alan genellikle en önemlidir.
    • location_type, belirtilen konumla ilgili ek verileri depolar. Şu anda aşağıdaki değerler desteklenmektedir:

      • "ROOFTOP", döndürülen sonucun, açık adres kesinliğine kadar doğru konum bilgilerine sahip olduğumuz kesin bir coğrafi kod olduğunu gösterir.
      • "RANGE_INTERPOLATED", döndürülen sonucun iki kesin nokta (ör. kavşaklar) arasında interpolasyon yapılmış yaklaşık bir değeri (genellikle bir yolda) yansıttığını gösterir. İnterpole edilmiş sonuçlar genellikle bir sokak adresi için çatı coğrafi kodları kullanılamadığında döndürülür.
      • "GEOMETRIC_CENTER", döndürülen sonucun, çoklu çizgi (örneğin, sokak) veya poligon (bölge) gibi bir sonucun geometrik merkezi olduğunu belirtir.
      • "APPROXIMATE", döndürülen sonucun yaklaşık olduğunu belirtir.
    • viewport, döndürülen sonucu görüntülemek için önerilen görüntü alanını içerir. Bu görünüm, görüntü alanı sınırlayıcı kutusunun southwest ve northeast köşesini tanımlayan iki enlem,boylam değeri olarak belirtilir. Genel olarak görüntü alanı, bir sonucu kullanıcıya görüntülerken çerçevelemek için kullanılır.
    • bounds (isteğe bağlı olarak döndürülür), döndürülen sonucun tamamını içerebilen sınırlayıcı kutuyu depolar. Bu sınırların önerilen görüntü alanıyla eşleşmeyebileceğini unutmayın. (Örneğin, San Francisco, teknik olarak şehrin bir parçası olan ancak muhtemelen görüntü alanına döndürülmemesi gereken Farallon Adaları'nı da içerir.)
  • plus_code (bkz. Açık Konum Kodu ve artı kodları), enlem ve boylam koordinatlarından türetilen ve bir alanı temsil eden kodlanmış konum referansıdır: derecenin 1/8.000'i x derecenin 1/8.000'i (ekvatorda yaklaşık 14m x 14m) veya daha küçük. Adreslerin bulunmadığı yerlerde (binaların numaralandırılmadığı veya sokakların adlandırılmadığı durumlarda) açık adreslerin yerine artı kodları kullanılabilir. API her zaman artı kodu döndürmez.

    Hizmet bir artı kodu döndürdüğünde, genel kod ve bileşik kod olarak biçimlendirilir:

    • global_code, 4 karakterli alan kodu ve 6 karakter veya daha uzun bir yerel koddur (849VCWC8+R9).
    • compound_code, açık konumu olan, 6 karakter veya daha uzun bir yerel koddur (CWC8+R9, Mountain View, CA, ABD). Bu içeriği programlı bir şekilde ayrıştırmayın.
    API, kullanılabildiği durumlarda hem global kodu hem de bileşik kodu döndürür. Bununla birlikte, sonuç uzak bir konumda (ör. bir okyanus veya çöl) olursa yalnızca küresel kod döndürülebilir.
  • partial_match, coğrafi kodlayıcının orijinal istek için tam eşleşme döndürmediğini, ancak istenen adresin bir kısmını eşleştirebildiğini gösterir. Yazım hataları ve/veya eksik adres olup olmadığını kontrol etmek için orijinal isteği inceleyebilirsiniz.

    Kısmi eşleşmeler en sık, istekte belirttiğiniz bölgede bulunmayan açık adresler için gerçekleşir. Bir istek aynı konumdaki iki veya daha fazla konumla eşleştiğinde kısmi eşleşmeler de döndürülebilir. Örneğin, "Hillpar St, Bristol, UK" hem Henry Street hem de Henrietta Street için kısmi bir eşleşme döndürür. İstek yanlış yazılmış bir adres bileşeni içeriyorsa coğrafi kodlama hizmetinin alternatif bir adres önerebileceğini unutmayın. Bu şekilde tetiklenen öneriler de kısmi eşleşme olarak işaretlenir.

  • place_id, diğer Google API'leriyle kullanılabilecek benzersiz bir tanımlayıcıdır. Örneğin, bir yerel işletmenin telefon numarası, çalışma saatleri, kullanıcı yorumları gibi ayrıntılarını almak için Places API isteğinde place_id kullanabilirsiniz. Yer kimliğine genel bakış sayfasını inceleyin.

Adres türleri ve adres bileşeni türleri

Sonuçtaki types[] dizisi, adres türünü belirtir. Adres türlerine örnek olarak açık adres, ülke veya siyasi tüzel kişi verilebilir. address_components[] içinde, adresin her bir bölümünün türünü gösteren bir types[] dizisi de bulunur. Bina numarası veya ülke bilgisi örnek olarak verilebilir. (Aşağıda türlerin tam listesi verilmiştir.) Adreslerin birden fazla türü olabilir. Türler, "etiketler" olarak kabul edilebilir. Örneğin, birçok şehir political ve locality türüyle etiketlenir.

Aşağıdaki türler, hem adres türü hem de adres bileşeni türü dizilerinde coğrafi kodlayıcı tarafından desteklenir ve döndürülür:

  • street_address, tam açık adresi gösterir.
  • route, adlandırılmış bir rotayı (ör. "TR 101") gösterir.
  • intersection, genellikle iki ana yolu kapsayan ana bir kesişimi gösterir.
  • political, siyasi bir tüzel kişiyi belirtir. Bu tür genellikle bir sivil yönetim poligonunu gösterir.
  • country, ulusal siyasi kuruluşu gösterir ve genellikle Coğrafi Kodlayıcı tarafından döndürülen en yüksek sipariş türüdür.
  • administrative_area_level_1, ülke düzeyinin altında birinci dereceden bir sivil tüzel kişiyi belirtir. ABD'de bu idari düzeyler eyalettir. Tüm uluslar bu idari düzeylerde değildir. Çoğu durumda, management_area_level_1 kısa adları, ISO 3166-2 alt bölümleri ve yaygın olarak dağıtı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ında ikinci düzey bir sivil tüzel kişiyi gösterir. Bu idari düzeyler ABD'de ilçelerdir. Tüm uluslar bu idari düzeylerde değildir.
  • administrative_area_level_3, ülke düzeyinin altında üçüncü taraf bir sivil tüzel kişiyi gösterir. Bu tür, küçük bir sivil toplum bölmesini belirtir. Tüm uluslar bu idari düzeylerde değildir.
  • administrative_area_level_4, ülke düzeyinin altında dördüncü dereceden bir sivil tüzel kişiyi gösterir. Bu tür, küçük bir sivil toplum bölmesini belirtir. Tüm uluslar bu idari düzeylerde değildir.
  • administrative_area_level_5, ülke düzeyinin altında beşinci düzey bir sivil tüzel kişiyi belirtir. Bu tür, küçük bir sivil toplum bölmesini belirtir. Tüm uluslar bu idari düzeylerde değildir.
  • administrative_area_level_6, ülke düzeyinin altında altıncı düzey bir sivil tüzel kişiyi gösterir. Bu tür, küçük bir sivil toplum bölmesini belirtir. Tüm uluslar bu idari düzeylerde değildir.
  • administrative_area_level_7, ülke düzeyinin altında yedinci düzey sivil tüzel kişiyi gösterir. Bu tür, küçük bir sivil toplum bölmesini belirtir. Tüm uluslar bu idari düzeylerde değildir.
  • colloquial_area, varlık için yaygın olarak kullanılan bir alternatif adı gösterir.
  • locality, anonim bir şehir veya kasabadaki siyasi tüzel kişiyi belirtir.
  • sublocality, bir konum altında birinci dereceden bir sivil tüzel kişiyi belirtir. Bazı konumlar için ek türlerden biri alınabilir: sublocality_level_1 - sublocality_level_5. Her alt konum düzeyi bir sivil tüzel kişidir. Büyük sayılar daha küçük bir coğrafi alanı belirtir.
  • neighborhood, adlandırılmış bir mahalleyi gösterir
  • premise, genellikle ortak bir ada sahip olan bir bina veya bina topluluğu olan adlandırılmış bir konumu gösterir
  • subpremise, adlandırılmış bir konumun altındaki birinci derece varlığı gösterir. Bu genellikle ortak bir ada sahip binalar içinde yer alan tek bir binadır
  • plus_code, enlem ve boylamdan türetilen kodlanmış bir konum referansını gösterir. Artı kodları, var olmadıkları yerlerde (binaların numaralandırılmadığı veya sokakların adlandırılmadığı durumlarda) açık adreslerin yerine kullanılabilir. Ayrıntılar için https://plus.codes sayfasına bakın.
  • postal_code, ülke içindeki posta postaları için kullanılan posta kodunu belirtir.
  • natural_feature belirgin bir doğal özelliği gösterir.
  • airport, bir havaalanını gösterir.
  • park, adlandırılmış bir parkı gösterir.
  • point_of_interest, adlandırılmış bir önemli yeri gösterir. Bu "ÖY"ler, genellikle "Empire State Binası" veya "Eyfel Kulesi" gibi başka bir kategoriye kolayca uymayan önemli 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'daki Lieu-dit).

Yukarıdakilere ek olarak, adres bileşenleri burada listelenen türleri de içerebilir. Bu liste tam kapsamlı değildir ve değiştirilebilir.

  • floor bir bina adresinin katını gösterir.
  • establishment genellikle henüz sınıflandırılmamış bir yeri gösterir.
  • landmark, navigasyona yardımcı olmak için referans olarak kullanılan yakındaki bir yeri gösterir.
  • point_of_interest, adlandırılmış bir önemli yeri gösterir.
  • parking, bir otopark veya otopark olduğunu belirtir.
  • post_box, belirli bir posta kutusunu belirtir.
  • postal_town, bazı ülkelerde posta adresleri için kullanılan locality ve sublocality gibi coğrafi alanlardan oluşan bir gruplandırmayı belirtir.
  • room, bina adresinin bulunduğu odayı gösterir.
  • street_number tam sokak numarasını gösterir.
  • bus_station, train_station ve transit_station otobüs, tren veya toplu taşıma durağının konumunu belirtir.

Görüntü alanına ağırlık verme

Bir Coğrafi Kodlama isteğinde, Coğrafi Kodlama hizmetine belirli bir görüntü alanı içindeki sonuçları tercih etmesi talimatını verebilirsiniz (sınırlayıcı kutu olarak ifade edilir). Bunu, bounds parametresini ayarlayarak istek URL'sinde yapabilirsiniz.

bounds parametresi, koordinatları ayırmak için dikey çizgi (|) karakteri kullanılarak bu sınırlayıcı kutunun güneybatı ve kuzeydoğu köşelerinin enlem/boylam koordinatlarını tanımlar.

Örneğin, "Washington" için coğrafi kod genellikle ABD'deki Washington eyaletini döndürür:

İstek:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&key=YOUR_API_KEY

Yanıt:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "WA",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            },
            "location" : {
               "lat" : 47.7510741,
               "lng" : -120.7401385
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            }
         },
         "place_id" : "ChIJ-bDD5__lhVQRuvNfbGh4QpQ",
         "types" : [ "administrative_area_level_1", "political" ]
      }
   ],
   "status" : "OK"
}

Ancak, ABD'nin kuzeydoğusu çevresinde bir sınırlayıcı kutu tanımlayan bounds bağımsız değişkeni eklendiğinde, bu coğrafi kod Washington, D.C. şehrini döndürür.

İstek:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&bounds=36.47,-84.72%7C43.39,-65.90&key=YOUR_API_KEY

Yanıt:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "Washington",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "District of Columbia",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "DC",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, DC, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            },
            "location" : {
               "lat" : 38.9071923,
               "lng" : -77.03687069999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            }
         },
         "place_id" : "ChIJW-T2Wt7Gt4kRKl2I1CJFUsI",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

Bölgeye ağırlık verme

Bir Coğrafi Kodlama isteğinde, region parametresini kullanarak Coğrafi Kodlama hizmetine belirli bir bölgeye göre yanlı sonuçlar döndürmesi talimatını verebilirsiniz. Bu parametre, bölge yanlılığını belirten bir ccTLD (ülke kodu üst düzey alan) bağımsız değişkenini alır. ccTLD kodu, bazı önemli istisnalar dışında ISO 3166-1 kodlarıyla aynıdır. Örneğin, Birleşik Krallık'ın ccTLD'si "uk" (.co.uk), ISO 3166-1 kodu "gb"dir (teknik olarak "Büyük Britanya ve Kuzey İrlanda'nın Birleşik Krallık'ına ait tüzel kişi" için).

Ana Google Haritalar uygulamasının resmi olarak kullanıma sunulduğu her alan adı için coğrafi kodlama sonuçları önyargılı olabilir. Ağırlık vermenin yalnızca belirli bir alan adına ilişkin sonuçları tercih ettiğini unutmayın; bu alanın dışında daha alakalı sonuçlar varsa bunlar da dahil edilebilir.

Örneğin, Geocoding API'nin varsayılan alan adı ABD olarak ayarlandığından "Toledo" için coğrafi kod bu sonucu döndürür. İstek:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&key=YOUR_API_KEY

Yanıt:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Toledo",
               "short_name" : "Toledo",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Lucas County",
               "short_name" : "Lucas County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Ohio",
               "short_name" : "OH",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, OH, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            },
            "location" : {
               "lat" : 41.6639383,
               "lng" : -83.55521200000001
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            }
         },
         "place_id" : "ChIJeU4e_C2HO4gRRcM6RZ_IPHw",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

region=es (İspanya) ile "Toledo" için yapılan Coğrafi Kodlama isteği, İspanyol şehrini döndürür.

İstek:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&region=es&key=YOUR_API_KEY

Yanıt:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Toledo",
               "short_name" : "Toledo",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Toledo",
               "short_name" : "TO",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Castile-La Mancha",
               "short_name" : "CM",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            },
            "location" : {
               "lat" : 39.8628316,
               "lng" : -4.027323099999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            }
         },
         "place_id" : "ChIJ8f21C60Lag0R_q11auhbf8Y",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

Bileşen filtreleme

Coğrafi Kodlama yanıtında, Geocoding API belirli bir alanla kısıtlanmış adres sonuçlarını döndürebilir. components filtresini kullanarak kısıtlamayı belirtebilirsiniz. Filtre, dikey çizgi (|) ile ayrılmış component:value çifti listesinden oluşur. Filtre değerleri, diğer Coğrafi Kodlama istekleriyle aynı yazım düzeltme ve kısmi eşleme yöntemlerini destekler. Coğrafi kodlayıcı bir bileşen filtresi için kısmi eşleşme bulursa yanıt bir partial_match alanı içerir.

Filtrelenebilecek components şunlardır:

  • postal_code; postal_code ve postal_code_prefix ile eşleşir.
  • country bir ülke adıyla veya iki harfli ISO 3166-1 ülke koduyla eşleşir. API, ülkeleri tanımlamak için ISO standardını uygular ve filtreleme, ülkenin ilgili ISO kodu kullanıldığında en iyi şekilde çalışır.

Aşağıdaki components, sonuçları etkilemek için kullanılabilir ancak zorunlu kılınmaz:

  • route, bir rotanın uzun veya kısa adıyla eşleşiyor.
  • locality, locality ve sublocality türleriyle eşleşiyor.
  • administrative_area, tüm administrative_area seviyeleriyle eşleşir.

Bileşen filtrelemeyle ilgili notlar:

  • Bu bileşen filtrelerini isteklerde tekrarlamayın. Aksi takdirde API Invalid_request: country, postal_code, route değerini döndürür.
  • İstek yinelenen bileşen filtreleri içeriyorsa API bu filtreleri VEYA olarak değil, VE olarak değerlendirir.
  • Sonuçlar, Google Haritalar ile tutarlıdır. Bu durum, zaman zaman beklenmeyen ZERO_RESULTS yanıtları verir. Otomatik Yer Tamamlama özelliği, bazı kullanım durumlarında daha iyi sonuçlar sağlayabilir. Daha fazla bilgi için bu SSS sayfasına göz atın.
  • Her bir adres bileşeni için bunu ya address parametresinde ya da components filtresinde belirtin ancak ikisinde birden belirtmeyin. Her ikisinde de aynı değerlerin belirtilmesi ZERO_RESULTS ile sonuçlanabilir.

"High St, Hastings" için components=country:GB kodlu bir coğrafi kod, Hastings-On-Hudson, ABD yerine İngiltere'nin Hastings şehrinde sonuç döndürür.

İstek:

https://maps.googleapis.com/maps/api/geocode/json?address=high+st+hasting&components=country:GB&key=YOUR_API_KEY

Yanıt:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "High Street",
               "short_name" : "High St",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Hastings",
               "short_name" : "Hastings",
               "types" : [ "postal_town" ]
            },
            {
               "long_name" : "East Sussex",
               "short_name" : "East Sussex",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "England",
               "short_name" : "England",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United Kingdom",
               "short_name" : "GB",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "TN34 3EY",
               "short_name" : "TN34 3EY",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "High St, Hastings TN34 3EY, UK",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            },
            "location" : {
               "lat" : 50.85830319999999,
               "lng" : 0.5924594
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            }
         },
         "partial_match" : true,
         "place_id" : "ChIJ-Ws929sa30cRKgsMNVkPyws",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}

"Santa Cruz" bölgesi için components=country:ES ile birlikte gönderilen bir coğrafi kod isteği, İspanya'nın Kanarya Adaları'ndaki Santa Cruz de Tenerife şehrini döndürür.

İstek:

https://maps.googleapis.com/maps/api/geocode/json?components=locality:santa+cruz|country:ES&key=YOUR_API_KEY

Yanıt:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "Santa Cruz de Tenerife",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "TF",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Canary Islands",
               "short_name" : "CN",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Santa Cruz de Tenerife, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            },
            "location" : {
               "lat" : 28.4636296,
               "lng" : -16.2518467
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            }
         },
         "place_id" : "ChIJcUElzOzMQQwRLuV30nMUEUM",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

Bileşen filtreleme yalnızca birbirini hariç tutan filtreler sağlarsanız ZERO_RESULTS yanıtı döndürür.

İstek:

https://maps.googleapis.com/maps/api/geocode/json?components=administrative_area:TX|country:FR&key=YOUR_API_KEY

Yanıt:

{
   "results" : [],
   "status" : "ZERO_RESULTS"
}

components filtresini kullanarak adres parametresi olmadan geçerli sorgular oluşturabilirsiniz. (Tam bir adresin coğrafi kodlaması yapılırken istek, binaların adlarını ve numaralarını içeriyorsa address parametresi gerekir.)

İstek:

https://maps.googleapis.com/maps/api/geocode/json?components=route:Annankatu|administrative_area:Helsinki|country:Finland&key=YOUR_API_KEY

Yanıt:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Annankatu",
               "short_name" : "Annankatu",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Helsinki",
               "short_name" : "HKI",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Finland",
               "short_name" : "FI",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "00101",
               "short_name" : "00101",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Annankatu, 00101 Helsinki, Finland",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            },
            "location" : {
               "lat" : 60.1657808,
               "lng" : 24.938451
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            }
         },
         "place_id" : "ChIJARW7C8sLkkYRgl4je4-RPUM",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}