Coğrafi kodlama, adresleri (ör. sokak adresi) haritada 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ı, adreslere coğrafi kodlama uygulanırken dikkate alınması gereken noktaları netleştirmektir. Bu makalede, Geocoding API'nin ne zaman kullanılmasının en uygun olduğu ve Places API Yer Adı Otomatik Tamamlama hizmetini kullanmanın ne zaman faydalı olduğu açıklanmaktadır.
Genel olarak, tam adresleri (ör. "48 Pirrama Rd, Pyrmont, NSW, Avustralya") coğrafi kodlarken Geocoding API'yi kullanın. Belirsiz (eksik) adresleri coğrafi olarak kodlarken veya kullanıcı girişine yanıt verme gibi gecikmeye duyarlı uygulamalarda Places API Yer Adı Otomatik Tamamlama hizmetini kullanın.
Kullanım alanları ve API önerileri
| Kullanım alanları ve API önerileri | |
|---|---|
| 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, ardından yer kimliğini enlem/boylam olarak coğrafi kodlamak için Geocoding API'yi kullanın. |
| Eksiksiz, net posta adreslerini işleyen otomatik sistemler (ör. "48 Pirrama Rd, Pyrmont, NSW, Avustralya") | Geocoding API web hizmetini kullanın. |
| 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 elde edilen, belirsiz, eksik veya yanlış yazılmış sorguların oranı yüksek olan otomatik sistemler, kullanıcıların bir sonuç seçmesine ve böylece bir adresi yanlış yazmasını önlemesine olanak tanımak için etkileşimli bir Yer Adı Otomatik Tamamlama widget'ı ekleyerek fayda sağlayabilir. |
| Başlangıç noktaları, hedefler veya ara noktalar adres dizeleri olarak belirtilmişken Directions API (Eski) ya da Distance Matrix API (Eski) kullanılırken 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 (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 nokta vardır:
- Kullanıcı girişi genellikle bir adresin kademeli olarak girilmesini (ör. "123 Main Street") içerir. Bu nedenle, eksik ve belirsiz adreslerin coğrafi kodlanabilmesi, kullanıcının daha hızlı sonuç almasını sağladığı için faydalıdır.
- 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 kılar. 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ürecek şekilde ayarlanabilir. Places API, Geocoding API web hizmetine tam olarak netleştirilmiş bir konum olarak iletilebilen bir yer kimliği döndürür. Bu hizmet de tam adres ayrıntılarını döndürür ve adresi bir latlng'ye göre coğrafi olarak kodlar. Yer kimlikleri, Directions API (Eski) ve Distance Matrix API (Eski) gibi diğer API'lere de iletilebilir (bkz. Gecikmeyi azaltma).
Geocoding API'deki adres coğrafi kodlaması çok daha yüksek gecikmeye 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
Eksiksiz ve net posta adreslerini işleyen otomatik sistemler: Eksiksiz 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 adreslerin daha kapsamlı bir şekilde kapsanmasını sağlar ve bu tür eksiksiz, net sorgularla yüksek kaliteli sonuçlar elde etmek için optimize edilmiştir.
Belirsiz sorguları işleyen otomatik sistem: Belirsiz sorgular, kötü 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 hiç sonuç üretmeyebilir. 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 de 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ı, hedefler veya ara noktalar adres dizeleri olarak belirtildiğinde Directions API (Eski) ve Distance Matrix API (Eski), bu adresleri coğrafi olarak kodlamak için Geocoding API ile aynı arka ucu kullanır. Böylece yönler hesaplanmadan önce adresler coğrafi olarak kodlanı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 (Legacy) veya Distance Matrix API (Legacy) kullanıyorsa ve başlangıçta adres dizeleri olarak belirtilen başlangıç noktalarınız, hedefleriniz ya da ara noktalarınız varsa adres dizelerini yer kimliklerine dönüştürmek için Places API'nin Yer Adı Otomatik Tamamlama hizmetini kullanıp ardından yer kimliklerini Directions API (Legacy) veya Distance Matrix API (Legacy) hizmetine 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 Place Autocomplete hizmetiyle birlikte kullanabilirsiniz. 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 en iyi çözüm, kısa bir gecikmeden sonra yeniden denemektir. Yeniden deneme mantığı içeren ve Google Haritalar Platformu Premium Plan kimlik doğrulamasını destekleyen Google Haritalar Platformu web hizmetleri
istemci kitaplıklarını kullanmanızı öneririz.
Google Haritalar Hizmetleri için Java İstemci Kitaplığı, Python İstemci Kitaplığı, Go İstemci Kitaplığı ve Node.js İstemci Kitaplığı, topluluk tarafından desteklenen istemci kitaplıklarıdır. Bu kitaplıkları GitHub'dan indirebilir ve katkıda bulunabilirsiniz. Ayrıca, yükleme talimatlarını ve örnek kodu da GitHub'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ızdır.
Kullanım optimizasyonu stratejilerini denemenizi öneririz.