Coğrafi Kodlama Sırasında Kota Kullanımını Optimize Etme

Coğrafi kodlama, adreslerin dönüştürülmesi işlemidir ("1600 Amphitheatre Parkway, Mountain View, CA") ile (37.423021, -122.083739)]. veya haritayı konumlandırabilirsiniz. Google Maps Platform API'leri yaklaşımlarından bahsedeceğiz:

  • İstemci tarafı coğrafi kodlama tarayıcı üzerinde çalıştırılır ve genellikle yanıt vermesidir. Maps JavaScript API, sınıflandırılması gerekir. Bu yaklaşım Haritalar JavaScript API'si dokümanlarına göz atın.
  • HTTP sunucu tarafı coğrafi kodlaması, Böylece, sunucunuz doğrudan sorguyla Google'ın coğrafi kodlar için sunucuları. Coğrafi Kodlama API'si, sağlayan başka bir hizmetten oluşur. Genellikle bu iki faktörü de sunucu tarafında çalışan başka bir kodla değiştirin. Sunucu tarafı coğrafi kodlama için bkz. Coğrafi Kodlama API'si dokümanlarına göz atın.

İstemci tarafı ve sunucu tarafı coğrafi kodlama örnekleri

Aşağıda verilen istemci tarafı coğrafi kodlama örneği, coğrafi olarak kodlanır, haritanın merkezini ilgili konuma taşır ve harita işaretleyiciyle görüşün:

geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address }, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    map.setCenter(results[0].geometry.location);
    var marker = new google.maps.Marker({
      map: map,
      position: results[0].geometry.location
    });
  }
});

Daha fazla örnek için bkz. Haritalar JavaScript API'si dokümanlarına göz atın.

Aşağıdaki örnekte, Python'u kullanarak sunucu tarafı coğrafi kodlama isteği:

import urllib2

address="1600+Amphitheatre+Parkway,+Mountain+View,+CA"
key="my-key-here"
url="https://maps.googleapis.com/maps/api/geocode/json?address=%s&key=%s" % (address, key)

response = urllib2.urlopen(url)

jsongeocode = response.read()

Bu işlem, aşağıdaki içeriğe sahip bir JSON nesnesi oluşturur:

{
  "status": "OK",
  "results": [ {
    "types": street_address,
    "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
    "address_components": [ {
      "long_name": "1600",
      "short_name": "1600",
      "types": street_number
    }, {
      "long_name": "Amphitheatre Pkwy",
      "short_name": "Amphitheatre Pkwy",
      "types": route
    }, {
      "long_name": "Mountain View",
      "short_name": "Mountain View",
      "types": [ "locality", "political" ]
    }, {
      "long_name": "San Jose",
      "short_name": "San Jose",
      "types": [ "administrative_area_level_3", "political" ]
    }, {
      "long_name": "Santa Clara",
      "short_name": "Santa Clara",
      "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
    } ],
    "geometry": {
      "location": {
        "lat": 37.4220323,
        "lng": -122.0845109
      },
      "location_type": "ROOFTOP",
      "viewport": {
        "southwest": {
          "lat": 37.4188847,
          "lng": -122.0876585
        },
        "northeast": {
          "lat": 37.4251799,
          "lng": -122.0813633
        }
      }
    }
  } ]
}

Sunucu tarafı coğrafi kodlayıcı, JSON biçimindedir. Daha fazla örnek için bkz. Coğrafi Kodlama API'si ve Python için istemci kitaplıkları ve diğer dillerde geçerli olur.

Kota ve maliyetle ilgili dikkat edilmesi gereken noktalar

Maliyetler, kotalar ve hız sınırlarının coğrafi kodlaması, bu kılavuzda açıklanan stratejileri belirler. uygulayacaksınız.

Maliyet

Coğrafi kodlama istekleri için gün başına kota (QPD) sınırları artık kullanılmamaktadır. Bunun yerine, ister tarayıcı üzerinden istemci tarafında ister Geocoding API web hizmeti, her biri için ayrı ücret alınır. Kullanım maliyetinizi yönetmek için günlük kotanızı tüketme.

Hız sınırları

Coğrafi kodlama hizmetinin hızı 3.000 QPM (dakikada sorgu) ile sınırlıdır. istemci taraflı ve sunucu tarafı sorguların toplamı olarak hesaplanır.

İstemci tarafı coğrafi kodlama isteklerini periyodik aralıklarla (ör. tüm kullanıcılarınız bir mobil uygulama içindeyse istekleriniz aynı anda istekte bulunmayı (örneğin, her ayın dakika). Bunu önlemek için aşağıdakilerden birini düşünün:

Önbelleğe alma

Görüntüleyin Önbelleğe alma hakkındaki Coğrafi Kodlama API'si Politikaları bölümünü inceleyin.

İstemci tarafı coğrafi kodlama ne zaman kullanılır?

Bunun kısa yanıtı "neredeyse her zaman"dır. Nedenler şunlardır:

  • İstemci tarafı istek ve yanıtı, kullanıcılara yönelik etkileşimli bir deneyim sunar.
  • İstemci tarafı isteği, coğrafi kodlamayı iyileştiren bilgiler içerebilir Kalite: Kullanıcı dili, bölge ve görüntü alanı.

Özellikle istemci tarafında coğrafi kodlama, adreslerin coğrafi karar verebilir.

İstemci taraflı coğrafi kodlama için iki temel mimari vardır:

  • Coğrafi kodlama ve görüntüleme işlemlerinin tamamını tarayıcıda yapın. Örneğin, Kullanıcı sayfanıza bir adres girer. Uygulamanız, coğrafi olarak kodlanır. Sonra sayfanız, harita üzerinde bir işaretçi oluşturmak için coğrafi kodu kullanmaktadır. Ya da uygulamanız coğrafi kod kullanarak yapacağınız basit bir analizden bahsedeceğiz. Sunucunuza hiçbir veri gönderilmez. Bu, sunucunuzdaki yükü azaltır.
  • Coğrafi kodlamayı tarayıcıda yapın ve ardından sunucuya gönderin. Örneğin, kullanıcı sayfanıza bir adres girer. Uygulamanız tarayıcının coğrafi kodlamasını yapar. Uygulama, daha sonra verileri sunucunuza gönderir. İlgili içeriği oluşturmak için kullanılan sunucu, yakındaki önemli yerler gibi bazı verilerle yanıt verir. Bu bir yanıtı kendi verilerinize göre özelleştirmenize olanak tanır.

Sunucu tarafı coğrafi kodlama ne zaman kullanılır?

Sunucu tarafı coğrafi kodlama, Bir istemciden giriş yapmadan adreslerin coğrafi kodlamasını yapmanızı gerektirir. Yaygın bir örnek kullanıcı girişinden bağımsız olarak gelen bir veri kümesi elde etmektir. Örneğin sabit, sonlu ve bilinen coğrafi kodlama gerektiren adresler de olabilir. Sunucu tarafı coğrafi kodlama, Ayrıca, istemci taraflı coğrafi kodlama başarısız olduğunda yedek olarak da kullanışlıdır.

Bazı olası endişeler, kullanıcı için gecikmede gereksiz artış, ve coğrafi kodlama sonuçları istemci tarafına göre daha düşüktür. Çünkü bilgi talep edildi.