Hedef
Genellikle bir yerin konumunu doğrulamanız gerekir. Google Haritalar Platformu'nda bu kullanım alanında size yardımcı olabilecek birkaç farklı hizmet vardır. Bu belge, iki temel konum doğrulama hizmeti olan Address Validation API ve Geocoding API arasında seçim yapmanıza yardımcı olur.
Address Validation API, Google Haritalar Platformu'nun müşterilerin bir adresin doğru olup olmadığını doğrulamasına yardımcı olan bir teklifidir.
Geocoding API ile coğrafi kodlama, adresleri coğrafi koordinatlara dönüştürme işlemidir. Bu koordinatları, haritaya işaretçi yerleştirmek veya haritada bir konum belirlemek için kullanabilirsiniz.
Adres Doğrulama ve Geocoding API'si arasındaki farkların üst düzey bir özetini burada bulabilirsiniz.
Address Validation API ve Geocoding API'yi ne zaman kullanmalısınız?

Yukarıdaki akış şemasıyla ilgili notlar:
- Kullanıcı etkileşimi kullanım alanı, kullanıcının sonuçlarla etkileşim kurmak için hazır bulunduğu zamanı ifade eder.
- Places Autocomplete bir JavaScript API'si olduğundan kullanıcı arayüzleriyle entegrasyon için uygundur.
- Mevcut adreslerinizdeki veri kalitesi sorunlarının farkında olabilirsiniz. Dolayısıyla yalnızca coğrafi kodlar isteseniz bile, veri kümelerini düzeltmek için bu konumları Adres Doğrulama API'si aracılığıyla çalıştırmanız önerilir.
Yukarıdaki karar ağacına göre bir ürünü diğerine tercih edebileceğiniz birçok durum vardır. Ancak diğer durumlarda hedeflerinize ulaşmak için her iki ürünü de kullanmanız gerekebilir.
Aşağıdaki durumlarda Geocoding API yerine Address Validation API'yi kullanmayı tercih edebilirsiniz:
- Sorgulanabilir verilerin olma ihtimalinin yüksek olduğu veya yanlış adres almanın sonraki aşamalarda olumsuz etki yaratacağı durumlarda. Bunun nedeni, Address Validation API'nin bir girişin neden yüksek hassasiyetli sonuç almadığı konusunda daha fazla geri bildirim sağlamasıdır.
- Kullanıcı girişlerini (ör.yazım hatası veya eksik alanlar) düzeltmeniz gerekir. Bu da çıkışta doğru sonuç elde etme olasılığını artırır.
- Hedef bölgeniz, Adres Doğrulama API'sinden Coğrafi Kodlama API'sine kıyasla daha fazla meta veri (ör. bina türünün konut veya ticari olarak sınıflandırılması) döndürür.
Aşağıdaki durumlarda Adres Doğrulama API'si yerine Geocoding API'yi kullanmayı tercih edebilirsiniz:
- Birincil amacınız bir adresin yerini tespit etmektir ve bireysel adreslerin doğruluğu kritik öneme sahip olmayabilir.
- Örneğin, büyük bir veri kümesinden ısı haritası oluşturmak için.
- Global bir çözüme ihtiyacınız var ve Adres Doğrulama API'si tüm hedef bölgelerde kullanılamıyor.
Aşağıda Adres Doğrulama API'sinin yeteneklerini Geocoding API'siyle karşılaştıran bazı örnekler yer almaktadır.
Geçersiz Adres Örneği
1 Fake St, Mountain View, CA 94043, ABD
Adres Doğrulama API'si bu girdiyi bireysel adres bileşenlerine (sokak, şehir, eyalet, vb.) ayırır. Ayrıca, adresin neden geçerli olmadığına dair PREMISE düzeyinde ayrıntılı geri bildirim de verebilir.
Fake St, Mountain View, CA'da bulunmuyor ve Address Validation API, döndürülen bileşen düzeyindeki ayrıntılarda bunu yansıtıyor:
{
"componentName": {
"text": "Fake St",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel":"UNCONFIRMED_BUT_PLAUSIBLE"
}
Bu durumda incelenmesi gereken önemli özellik confirmationLevel'dır. API, Fake St için UNCONFIRMED_BUT_PLAUSIBLE döndürerek bir sokağın bu ada sahip olmasının mümkün olacağını ancak destekleyici adres verileriyle eşleştirilemeyeceğini belirlemiştir.
API sonucunu geri bildirim olarak kullanarak bu girişin sokak bileşeninin (Fake St) hatalı olduğu anlaşılabilir.
Coğrafi Kodlama API'si ile aynı adresi kullanarak, buradan deneyebileceğiniz coğrafi kodlama aracının ekran görüntüsünde gördüğünüz gibi "California" ile eşleşme yapabilir:

Ancak sonuç, girişin hangi bileşenlerinin hatalı olabileceğine dair minimum geri bildirimle birlikte eyaletin tamamının coğrafi kodu olur.
Yazım Hatası Örneği
76 Buckingamm Palace Road, Londn, SW1W 9TQ, GB
Yukarıdaki adreste biri sokak adında, diğeri ise yerleşim yerinde olmak üzere iki yazım hatası var.
Hem Adres Doğrulama hem de Coğrafi Kodlama API'si bu hataları düzeltebilir ve 76 Buckingham Palace Road, London, SW1W 9TQ sonucunu elde edebilir. Ancak, Adres Doğrulama API'si bu işlem hakkında daha fazla bilgi verebilir.
Giriş sırasında yanlış yazılan adres bileşenlerinden birine göz atın:
{
"componentName": {
"text": "Buckingham Palace Road",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel": "CONFIRMED",
"spellCorrected": true
}
}
Address Validation API, alanda düzeltme yapıldığını belirten bir işaret döndürür. E-ticaret ödeme aşamasındaki bir müşteri gibi veri sağlayıcıyla düzeltmeyi iki kez kontrol etmek için bu işaretle ilgili işletme mantığı uygulanabilir.
Eksik Veri ve Yazım Hatası Örneği
Bollschestraße 86, 12587, DE
Yukarıdaki adreste sokak adında yazım hatası var ve Berlin şehri (yerleşim yeri) eksik.
Adres Doğrulama API'si bu hataların ikisini de düzeltebilir ve PREMISE düzeyinde bir coğrafi kod ile PREMISE düzeyinde doğrulanmış bir adres döndürür:
Bölschestraße 86, 12587 Berlin, DE
Coğrafi Kodlama API'si bu durumda giriş hatalarının üstesinden başarıyla gelemez ve ZERO_RESULTS sonucunu döndürür.
Ek Adres Meta Verisi Örneği
111 8th Avenue Ste 123, New York, NY 10011-5201, ABD
Bu adres, bina içinde bulunmayan birim numarası (Ste 123) hariç olmak üzere doğrudur.
Adres Doğrulama API'si, adresi PREMISE (111 8th Ave) olarak doğrulayabilir ve mülk hakkında bazı meta veriler (ör. ticari bir mülk olduğu) sağlayabilir.
tesisler:
"business": true
Ayrıca, yanıttaki uspsData bölümünde döndürülen dpvConfirmation değeri S'dir:
"dpvConfirmation": "S"
dpvConfirmation değeri S ise adresin PREMISE düzeyinde doğrulandığını ancak girişte belirtilen birim numarasının bu adresle ilişkilendirilmediğini gösterir.
Geocoding API bu bilgiyi sağlayamaz.
Geocoding API yanıtını anlama
Genel Bakış
Geocoding API'yi kullanıyorsanız coğrafi kodlama sonucu, yanıtta sağlanan adresin ayrıntılarını anlamak için kullanılabilecek çeşitli ipuçları içerir.
Geocoding API, adres bileşenlerini hiyerarşik olarak çözerek çalışır.
**Örneğin, 123 Example Street, Chicago, 60007, USA aşağıdaki sırayla çözümlenir:
/ Example Street/ Chicago/ 60007/ USA sırasıyla değerlendirilir. Bu durumda ilk eşleşme Chicago ve daha spesifik olarak 60007 posta kodudur. Bu nedenle, söz konusu posta kodu için aşağıdaki Place_id değerini döndürür:
ChIJwRKzf8ixD4gRHiXqucwr_HQ
Geocode API, yanıtta aşağıdaki bilgileri içerir:
"partial_match": true,
"place_id": "ChIJwRKzf8ixD4gRHiXqucwr_HQ",
"types": [
"postal_code"
]
Geocoding API, bu adresin ne tür bir yere ait olduğunu doğrulayabilir. Coğrafi Kodlama API'si tarafından döndürülen adres types listesini burada bulabilirsiniz.
Girişin hiçbir bileşeni çözülmezse API şunu döndürür:
{
"results": [],
"status": "ZERO_RESULTS"
}
Sadece sokak adresiyle ve bina numarası olmadan yapılan istekler şu biçimde bir sonuç döndürür:
"types": [
"route"
]
Bu durum, Geocoding API'nin bir sokak numarası bulamadığı veya eşleştiremediği anlamına gelir.
Not: Bir adresin var olup olmadığını öğrenmek için Geocoding API yanıtında parametrelerden (ör. types, partial_match, results, status)) herhangi birinin ayarlanıp ayarlanmadığını kontrol edin. Bu, bir adresin var olabileceğine dair güven düzeyini kademeli olarak artıracaktır, ancak% 100 doğru olmayacaktır. Bu nedenle Adres Doğrulama API'sine ihtiyacımız var.
Yalnızca bir Coğrafi Kodlama API yanıtından elde edilen adres doğruluğuna olan güveni artırmak için yukarıdaki teknikleri kullanabilirsiniz. Ancak Adres Doğrulama API'si sonucunun aksine, Geocoding API, sonuç doğruluğunu belirlemek için tam geri bildirim döndürmez.
Yer türü
Bu bölümü doğru şekilde anlamak için bir Coğrafi Kodlama API'si yanıtından döndürülebilecek farklı konum türlerini anlamanız gerekir:
- ROOFTOP, döndürülen sonucun, konum bilgilerinin sokak adresi kesinliğine kadar doğru olduğu kesin bir coğrafi kod olduğunu gösterir.
- RANGE_INTERPOLATED, döndürülen sonucun iki kesin nokta (ör. kavşaklar) arasında enterpolasyonla hesaplanmış bir yaklaşıma (genellikle bir yol üzerinde) karşılık geldiğini gösterir. Çatı coğrafi kodları bir sokak adresi için kullanılamadığında genellikle enterpolasyonlu sonuçlar döndürülür.
- GEOMETRIC_CENTER, döndürülen sonucun bir çoklu çizgi (ör. sokak) veya poligon (bölge) gibi bir sonucun geometrik merkezi olduğunu gösterir.
- APPROXIMATE, döndürülen sonucun yukarıdakilerden hiçbiri olmadığını gösterir.
Geocoding API, location_type ROOFTOP veya RANGE_INTERPOLATED döndürürse bu, adresin mevcut olduğu anlamına gelmez. Benzer şekilde, bir Coğrafi Kodlama API'si partial_match işareti true olarak ayarlanmış şekilde döndürülse bile sizin için doğru sonuç olabilir.
Bu tür yanlış eşleşmelerin Geocoding API ile çözülmesi çok zordur. En azından, istek / yanıtın ülke ve yerel ayarı üzerinde bazı temel son işlem doğrulama işlemlerini uygulayabilirsiniz. Daha da iyisi, yazım hataları ve/veya eksik adres olup olmadığını görmek için gerçek sokak adreslerini karşılaştırın.
Not: Geocoding API'yi kullanmaya karar verirseniz ilk istek ile Geocoding API yanıtı arasında düzenli olarak veri kalitesi kontrolleri yapmanız önerilir.
Kısmi eşleşme ve yanlış eşleşme
Bir adres kısmi eşleşme ise (yani Geocoding API adresi tam olarak tanımlayamadıysa) yanıtta şunlar yer alır:
"partial_match": true,
"types": [
"locality",
"political"
]
Yukarıdaki konum türlerinden daha da önemlisi, yanıtta partial_match = true olduğunda bunu dikkate almaktır. partial_match, Coğrafi Kodlama API'sinin, istenen adresin bir kısmını eşleştirebilmesine rağmen orijinal istek için tam eşleşme döndürmediğini gösterir.
Eksik adresle ilgili orijinal isteği incelemek isteyebilirsiniz. Kısmi eşleşmeler en sık olarak, istekte belirtilen yerleşim biriminde bulunmayan sokak adresleri için gerçekleşir. Bir istek aynı yerleşim birimindeki iki veya daha fazla konumla eşleştiğinde de kısmi eşleşmeler döndürülebilir.
Örneğin, "21 Henr St, Bristol, UK" hem Henry Street hem de Henrietta Street için kısmi eşleşme döndürür. Bir istekte yanlış yazılmış bir adres bileşeni varsa Coğrafi Kodlama API'sinin alternatif bir adres önerebileceğini unutmayın. Bu şekilde tetiklenen öneriler kısmi eşleşme olarak işaretlenmez.
Yapay Adresler
Coğrafi Kodlama API'si, Google'ın veritabanında tam konum olarak bulunmayan "sentezlenmiş" adreslerin konumlarını döndürebilir.
Bu tür senaryolarda yanıt nesnesi genellikle uzun bir yer kimliği ve şu özelliği içerir: geometry.location_type=APPROXIMATE.
Yanıtla ilgili bu göstergelerle karşılaşırsanız lütfen giriş adresini geçersiz olarak işaretleyin ve başka bir yöntemle yeniden doğrulamayı deneyin.
Not: Bu, Adres Doğrulama API'si ile bir adresin mevcut olmaması durumunda doğrudan geri bildirim aldığınız başka bir örnektir.
Address Validation API yanıtını anlama
Address Validation API'den gelen yanıtları anlama konusunda zaten harika bir doküman olduğu için burada daha fazla ayrıntıya girmeyeceğiz.
- Yanıt nesnesine genel bakış için burayı inceleyin.
- Yanıtın farklı bileşenlerini gösteren demoyu burada bulabilirsiniz.
- Ödeme için adres doğrulama belgesinde, iyi ve kötü adresler arasındaki farkı nasıl anlayacağınız ayrıntılı olarak açıklanmaktadır.
En iyi uygulamalar
Coğrafya belirtme
Address Validation veya Geocoding API'lerine çağrı yaparken bu adresi arayacağınız coğrafi bölgeyi sınırlamaya çalışmak en iyi uygulamadır. İki API, bunu iki farklı şekilde uygular:
Geocoding API - Bölgeye Göre Önyargı
Coğrafi kodların belirli bir ülke içinde olacağını biliyorsanız bölge önyargısı kullanarak çok daha iyi sonuçlar elde edebilirsiniz. Örneğin, Kanada'da coğrafi kodlama yapıyorsanız Kanada'ya yönelik önyargı oluşturmak için isteklerinize
®ion=caeklemenizi öneririz. Bölgesel önyargının yalnızca o bölgedeki sonuçları tercih ettiğini unutmayın. Bölgenin dışındaki sonuçları almaya devam edebilirsiniz.Address Validation API - Bölge Kodu
Benzer şekilde, Adres Doğrulama API'si
regionCodealanı kullanılarak istekte bir ISO2 kodu iletilirse daha doğru sonuçlar üretir.
Yer kimliklerini depolama
Google Haritalar Platformu'ndan gelen konum bilgilerini gelecekteki istekler için depolamak istiyorsanız yer kimliğini veritabanınızda konumun bir özelliği olarak süresiz şekilde depolayabilirsiniz. Her yer kimliği için yalnızca bir kez Yer Bulma isteğinde bulunmanız gerekir. Ayrıca, kullanıcılar işlem ayrıntılarını her istediğinde yer kimliğini arayabilirsiniz.
Her zaman en güncel bilgilere sahip olmak için place_id parametresiyle Yer Ayrıntıları isteği kullanarak 12 ayda bir yer kimliklerini yenileyin.
Not: Lütfen Coğrafi Kodlama ile ilgili en iyi uygulamalar kılavuzunu da inceleyin.
Sonuç
Bu belgede, Adres Doğrulama ve Coğrafi Kodlama API'leri arasındaki temel farklar açıklanmaktadır. Özetle, şu durumlarda Adres Doğrulama API'sini kullanabilirsiniz:
- Özellikle teslim edilebilirlik açısından doğru bir posta adresi gereklidir.
- Giriş verilerinin kalitesinin düşük olduğu bilinmektedir. Address Validation API, giriş hatalarına karşı daha toleranslıdır, doğrulanamayan adres bileşenlerini vurgular ve giriş verilerinde düzeltmeler yapar.
- Adres için daha fazla bilgi gerekiyor (ör. Konut ve Ticari, belirli bölgelerde kullanılabilir).
Sonraki Adımlar
Güvenilir adreslerle ödeme, teslimat ve operasyon süreçlerini iyileştirme başlıklı teknik incelemeyi indirin ve Adres Doğrulama ile ödeme, teslimat ve operasyon süreçlerini iyileştirme başlıklı web seminerini izleyin.
Daha fazla bilgi için önerilen kaynaklar:
- E-ticaret ödemesi için Address Validation
- Otomatik Yer Tamamlama Dokümanları
- Address Validation API Belgeleri
- Google Haritalar Platformu Raporlaması
Katkıda bulunanlar
Bu makale Google tarafından sağlanmaktadır. Bu makale ilk olarak aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Başlıca yazarlar:
Henrik Valve | Çözüm Mühendisi
Thomas Anglaret | Çözüm Mühendisi
Sarthak Ganguly | Çözüm Mühendisi