Coğrafi Kodlama Adresleri En İyi Uygulamaları

Coğrafi kodlama, adresleri (ör. açık adres) haritaya işaretçi yerleştirmek veya haritayı konumlandırmak için kullanabileceğiniz coğrafi koordinatlara (enlem ve boylam) dönüştürme işlemidir. Bu belgenin amacı, adresleri coğrafi olarak kodlarken dikkat edilmesi gereken noktaları açıklamaktır. Bu makalede, Geocoding API'nin ne zaman kullanılmasının en iyi olduğu ve Places API Yer Adı Otomatik Tamamlama hizmetinin ne zaman kullanılmasının faydalı olduğu açıklanmaktadır.

Genel olarak, tam adresleri (ör. "48 Pirrama Rd, Pyrmont, NSW, Avustralya") coğrafi olarak kodlarken Geocoding API'yi kullanın. Belirsiz (eksik) adresleri coğrafi kodlarken veya kullanıcı girişine yanıt verme gibi gecikmeye duyarlı uygulamalar için Places API Yer Adı Otomatik Tamamlama hizmetini kullanın.

Kullanım alanları ve API önerileri

Kullanım alanları ve API önerileri
Fiziksel varış, gelişmiş varış noktası seçimi, son aşama teslimat, araç paylaşımıyla alma/bırakma, bina girişleri veya kampüs navigasyonu Bina girişlerini, rotası çizilebilir navigasyon noktalarını, bina ana hatlarını ve yakındaki önemli noktaları almak için Geocoding API v4'teki Search for destinations (SearchDestinations) yöntemini kullanın. Coğrafi kodlama yöntemi seçme başlıklı makaleyi inceleyin.
Kullanıcı girişine gerçek zamanlı olarak yanıt verme (Kullanıcı tarafından girilen belirsiz, eksik, kötü biçimlendirilmiş veya yanlış yazılmış adresler dahil) Yer kimliği almak için Places API Yer Adı Otomatik Tamamlama hizmetini kullanın, ardından SearchDestinations (yakın çevreye özel ayrıntılar için) veya GeocodePlace (temel koordinatlar için) yöntemini çağırın.
Eksiksiz, net posta adreslerini işleyen otomatik sistemler (ör. "48 Pirrama Rd, Pyrmont, NSW, Avustralya") Geocoding API v4 web hizmetini kullanın (yakın çevreye özel ayrıntılar için SearchDestinations veya koordinat araması için GeocodeAddress).
Belirsiz sorguları işleyen otomatik sistemler (ör. eksik, yanlış biçimlendirilmiş veya yanlış yazılmış adresler) Otomatik sistemlerin Geocoding API web hizmetini kullanmasını öneririz. Ancak kullanıcı girişinden türetilen belirsiz, eksik veya yanlış yazılmış sorgu oranının yüksek olduğu otomatik sistemler, kullanıcıların bir sonuç seçmesine ve böylece bir adresi yanlış yazmaktan kaçınmasına olanak tanıyan etkileşimli bir Yer Adı Otomatik Tamamlama widget'ı eklemekten yararlanabilir.
Directions API (Eski) veya Distance Matrix API (Eski) kullanılırken başlangıç noktaları, varış noktaları ya da ara noktalar adres dizeleri olarak belirtildiğinde ortaya çıkan gecikme sorunları Yer kimliklerini almak için Places API Yer Adı Otomatik Tamamlama hizmetini kullanarak coğrafi kodlama gecikmesini azaltın, ardından yer kimliklerini Directions API'ye (Eski) veya Distance Matrix API'ye (Eski) iletin.

Kullanıcı girişine yanıt verme

Kullanıcı girişine gerçek zamanlı olarak yanıt veren uygulamalarda API seçimini etkileyen iki önemli husus vardır:

  1. Kullanıcı girişi genellikle bir adresin kademeli olarak girilmesini (ör. "123 Main Street") içerir. Bu nedenle, eksik ve belirsiz adresleri coğrafi olarak kodlayabilmek, kullanıcının daha hızlı sonuç almasını sağladığı için faydalıdır.
  2. Kullanıcı girişine yanıt veren uygulamalar gecikmeye karşı son derece hassastır.

Bu iki husus, Places API'deki Yer Adı Otomatik Tamamlama hizmetini kullanıcı girişine yanıt verme kullanım alanı için ideal hale getirir. Yer Adı Otomatik Tamamlama, birden fazla olası seçenek döndürecek ve kullanıcının bunlar arasından seçim yapmasına olanak tanıyacak şekilde tasarlanmıştır. Places API, işletmeleri hariç tutarken yalnızca coğrafi kodları veya adresleri arayacak şekilde kısıtlanabilir. Ayrıca, otomatik tamamlama arama işlevi, bir konuma özel sonuçlar döndürmek için taraflı olabilir. Places API, Geocoding API web hizmetine tamamen anlam belirsizliği giderilmiş bir konum olarak iletilebilecek bir yer kimliği döndürür. Bu hizmet de tam adres ayrıntılarını döndürür ve adresi bir enlem/boylam değerine coğrafi olarak kodlar. Yer kimlikleri, Directions API (Eski) ve Distance Matrix API (Eski) gibi diğer API'lere de iletilebilir (Gecikmeyi azaltma bölümüne bakın).

Geocoding API'deki adres coğrafi kodlama, çok daha yüksek gecikme süresine sahiptir ve eksik veya belirsiz sorgular için daha az doğru sonuçlar üretir. Bu nedenle, kullanıcı girişine gerçek zamanlı olarak yanıt vermesi gereken uygulamalar için önerilmez.

Android, iOS, JavaScript ve Places API için Yer Adı Otomatik Tamamlama hizmeti hakkında daha fazla bilgi edinin.

Otomatik sistemler

Tam ve net posta adreslerini işleyen otomatik sistemler: Tam posta adresi dizeleri (ör. "48 Pirrama Rd, Pyrmont, NSW, Avustralya") gibi net sorgular, en iyi şekilde Geocoding API web hizmeti tarafından işlenir. Adres coğrafi kodlama arka ucu, dünya genelinde daha fazla adres kapsamı sağlar ve bu tür eksiksiz, net sorgularla yüksek kaliteli sonuçlar için optimize edilmiştir.

Belirsiz sorguları işleyen otomatik sistem: Belirsiz sorgular; hatalı biçimlendirilmiş adresler, eksik adresler veya yazım hataları içeren sorgulardır. Otomatik sistemler için Geocoding API web hizmetini kullanmanızı öneririz. Ancak Geocoding API, belirsiz sorgularla başa çıkmak için tasarlanmamıştır ve belirsiz sorgulara yanıt olarak daha az doğru sonuçlar veya sıfır sonuç üretebilir. Otomatik sisteminiz, kullanıcı girişinden türetilen yüksek oranda belirsiz sorgu işliyorsa Places API'deki Yer Adı Otomatik Tamamlama hizmetini kullanarak uygulamanıza etkileşimli bir öğe eklemekten yararlanabilirsiniz. Bu hizmet, birden fazla olası seçenek döndürmek ve kullanıcının bunlar arasından seçim yapmasına olanak tanımak için tasarlanmıştır. Places API, Geocoding API web hizmetine tamamen anlam belirsizliği giderilmiş bir konum olarak iletilebilecek bir yer kimliği döndürür. Bu hizmet daha sonra tam adres ayrıntılarını döndürür ve adresi bir enlem/boylam değerine coğrafi olarak kodlar. Android, iOS, JavaScript ve Places API için Yer Adı Otomatik Tamamlama hizmeti hakkında daha fazla bilgi edinin.

Directions API (Eski) ve Distance Matrix API (Eski) için gecikmeyi azaltma

Başlangıç noktaları, varış noktaları veya ara noktalar adres dizeleri olarak belirtildiğinde Directions API (Eski) ve Distance Matrix API (Eski), yol tariflerini hesaplamadan önce bu adresleri coğrafi olarak kodlamak için Geocoding API ile aynı arka ucu kullanır. Bu, aynı konumları enlem/boylam veya yer kimlikleri olarak belirtmeye kıyasla gecikmeyi önemli ölçüde artırır.

Uygulamanız, kullanıcı girişine yanıt verme gibi gecikmeye duyarlı bir durumda Directions API'yi (Eski) veya Distance Matrix API'yi (Eski) kullanıyorsa ve başlangıç noktalarınız, varış noktalarınız ya da yol noktalarınız başlangıçta adres dizeleri olarak belirtilmişse Places API'nin Yer Adı Otomatik Tamamlama hizmetini kullanarak adres dizelerini yer kimliklerine dönüştürüp ardından yer kimliklerini Directions API'ye (Eski) veya Distance Matrix API'ye (Eski) ileterek gecikmeyi en aza indirmenizi öneririz. Android, iOS, JavaScript ve Places API için Yer Adı Otomatik Tamamlama hizmeti hakkında daha fazla bilgi edinin. Ayrıca yer adı otomatik tamamlama ve yol tarifleriyle ilgili JavaScript örneğine de göz atın.

Sonuç

Kullanım alanınıza bağlı olarak Geocoding API'yi tek başına kullanabilir veya Yer Adı Otomatik Tamamlama hizmetiyle birleştirebilirsiniz. Bu sayede, doğru coğrafi kodlama sonuçları sunan ve gecikmeyi azaltan uygulamalar geliştirebilirsiniz.

Hataları ve yeniden denemeleri yönetme

UNKNOWN_ERROR yanıtları alıyorsanız bunlar geçici hatalardan kaynaklanır ve kısa bir gecikmeden sonra yeniden denemek en iyi çözümdür. Yeniden deneme mantığı içeren ve Google Haritalar Platformu Premium Plan kimlik doğrulamasını destekleyen Google Haritalar Platformu web hizmetleri istemci kitaplıklarından yararlanmanızı öneririz. Google Haritalar Hizmetleri için Java İstemcisi, Python İstemcisi, Go İstemcisi ve Node.js İstemcisi, topluluk tarafından desteklenen istemci kitaplıklarıdır. Bu kitaplıkları GitHub'dan indirebilir ve GitHub'da katkıda bulunabilirsiniz. Ayrıca GitHub'da yükleme talimatlarını ve örnek kodları da bulabilirsiniz.

Yanıt olarak OVER_QUERY_LIMIT durum kodunu alırsanız API'nin kullanım sınırlarını aşmışsınız demektir. Bu kullanım optimizasyonu stratejilerini denemenizi öneririz.