जियोकोडिंग के दौरान कोटा के इस्तेमाल को ऑप्टिमाइज़ करना

जियोकोडिंग, पतों को बदलने की प्रोसेस है ("1600 एंफ़ीथिएटर पार्कवे, माउंटेन व्यू, CA") से भौगोलिक निर्देशांक (37.423021, -122.083739), जिसका इस्तेमाल अलग-अलग जगहों पर मार्करों या मैप को सही जगह पर रखें. Google Maps Platform API दो तरह की मदद करता है जियोकोडिंग के तरीके:

  • क्लाइंट-साइड जियोकोडिंग, जिसे ब्राउज़र में एक्ज़ीक्यूट किया जाता है. आम तौर पर, उपयोगकर्ता की कार्रवाई पर प्रतिक्रिया. Maps JavaScript API से, आपको ये क्लास आपके लिए अनुरोध करती हैं. यह तरीका इसमें बताया गया है Maps JavaScript API दस्तावेज़ में दिया गया है.
  • एचटीटीपी सर्वर-साइड जियोकोडिंग, इसकी मदद से, आपका सर्वर सीधे तौर पर Google के सर्वर पर जियोकोड के लिए. Geocoding API एक वेब ब्राउज़र है यह सुविधा उपलब्ध कराने वाली सेवा. आम तौर पर, अपने खाते के साथ अन्य कोड वाली सेवा जो सर्वर-साइड पर चल रही है. सर्वर-साइड जियोकोडिंग में बताया गया है जियोकोडिंग एपीआई दस्तावेज़ में दिया गया है.

क्लाइंट-साइड और सर्वर-साइड जियोकोडिंग के उदाहरण

यहां क्लाइंट-साइड जियोकोडिंग का एक सैंपल दिया गया है, जो पते को जियोकोड करता है, मैप के बीच में उस जगह पर ले जाता है, और एक वहां मैप मार्कर:

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
    });
  }
});

ज़्यादा उदाहरणों के लिए, Maps JavaScript API दस्तावेज़ में दिया गया है.

यहां एक उदाहरण दिया गया है, जिसमें Python का इस्तेमाल करके सर्वर-साइड जियोकोडिंग अनुरोध:

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()

इससे, इस कॉन्टेंट के साथ एक JSON ऑब्जेक्ट बनता है:

{
  "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
        }
      }
    }
  } ]
}

सर्वर-साइड जियोकोडर एक विकल्प के रूप में एक्सएमएल फ़ॉर्मैट भी देता है. JSON. ज़्यादा उदाहरणों के लिए, जियोकोडिंग एपीआई दस्तावेज़ और Python के लिए, क्लाइंट लाइब्रेरी और दूसरी भाषाओं में उपलब्ध हैं.

कोटा और लागत से जुड़ी ज़रूरी बातें

जियोकोडिंग की लागत, कोटा, और दर की सीमाएं इस दस्तावेज़.

लागत

जियोकोडिंग अनुरोधों के लिए हर दिन के कोटे (क्यूपीडी) की सीमाओं का इस्तेमाल नहीं किया जा रहा है. इसके बजाय, हर जियोकोडिंग अनुरोध, चाहे ब्राउज़र-साइड के माध्यम से या सर्वर-साइड Geocoding API की वेब सेवा हर-हर कीमत के हिसाब से बिल किया जाता है. इस्तेमाल की लागत को मैनेज करने के लिए, अपने हर दिन के कोटे की सीमा तय करना.

रेट लिमिट

जियोकोडिंग सेवा की दर 3,000 क्यूपीएम (क्वेरी प्रति मिनट) तक सीमित है, की गणना क्लाइंट-साइड और सर्वर-साइड क्वेरी के योग के रूप में की जाती है.

समय-समय पर, जैसे कि समय-समय पर क्लाइंट-साइड जियोकोडिंग अनुरोध चलाते समय कोई मोबाइल ऐप्लिकेशन हो, तो आपके अनुरोधों से गड़बड़ी मिल सकती है. ऐसा तब होता है, जब आपके सभी उपयोगकर्ता एक ही समय में अनुरोध करना (उदाहरण के लिए, सभी मिनट). इससे बचने के लिए, नीचे दिया गया कोई एक तरीका अपनाएं:

कैश मेमोरी में सेव करना

यहां जाएं: कैश मेमोरी के बारे में जियोकोडिंग एपीआई की नीतियां.

क्लाइंट-साइड जियोकोडिंग का इस्तेमाल कब करें

इसका सीधा सा जवाब है, "हमेशा." इसकी वजहें ये हैं:

  • क्लाइंट-साइड से अनुरोध और जवाब मिलने पर, ज़्यादा तेज़ी से और ज़्यादा काम किया जा सकता है उपयोगकर्ताओं को इंटरैक्टिव अनुभव दिया जा सकता है.
  • क्लाइंट-साइड अनुरोध में जियोकोडिंग को बेहतर बनाने वाली जानकारी शामिल हो सकती है क्वालिटी: उपयोगकर्ता की भाषा, इलाका, और व्यूपोर्ट.

खास तौर पर, पते को जियोकोड करने के लिए क्लाइंट-साइड जियोकोडिंग सबसे अच्छा होता है उपयोगकर्ता के इनपुट के हिसाब से.

क्लाइंट-साइड जियोकोडिंग के लिए दो बुनियादी आर्किटेक्चर हैं:

  • जियोकोडिंग और पूरी तरह से ब्राउज़र में डिस्प्ले करें. उदाहरण के लिए, जब उपयोगकर्ता आपके पेज पर कोई पता डालता है. आपका ऐप्लिकेशन इसे जियोकोड करता है. इसके बाद आपका पेज मैप पर मार्कर बनाने के लिए जियोकोड का इस्तेमाल करता है. या आपका ऐप्लिकेशन का इस्तेमाल करके आसानी से विश्लेषण किया जा सकता है. आपके सर्वर पर कोई डेटा नहीं भेजा जाता. इससे आपके सर्वर पर लोड कम होता है.
  • ब्राउज़र में जियोकोडिंग करें और फिर उसे सर्वर पर भेजें. उदाहरण के लिए, उपयोगकर्ता आपके पेज पर कोई पता दर्ज करता है. आपका आवेदन इसे ब्राउज़र में जियोकोड करता है. इसके बाद, ऐप्लिकेशन आपके सर्वर पर डेटा भेजता है. कॉन्टेंट बनाने सर्वर कुछ डेटा के साथ जवाब देता है, जैसे कि आस-पास की लोकप्रिय जगहें. यह अपने डेटा के हिसाब से जवाब को पसंद के मुताबिक बनाया जा सकता है.

सर्वर-साइड जियोकोडिंग का इस्तेमाल कब करें

सर्वर-साइड जियोकोडिंग का सबसे अच्छा इस्तेमाल उन ऐप्लिकेशन के लिए किया जाता है जिनमें के लिए ज़रूरी है कि आप क्लाइंट के इनपुट के बिना पतों को जियोकोड करें. एक सामान्य उदाहरण तब आपको एक डेटासेट मिलता है, जो उपयोगकर्ता के इनपुट से अलग होता है. उदाहरण के लिए, अगर आपके पास जिनके लिए जियोकोडिंग की ज़रूरत होती है. सर्वर-साइड जियोकोडिंग यह कर सकता है भी इसका इस्तेमाल तब किया जा सकता है, जब क्लाइंट-साइड जियोकोडिंग काम न करे.

इसकी कुछ वजहें हो सकती हैं: और क्लाइंट-साइड की तुलना में कम गुणवत्ता के जियोकोडिंग परिणाम होते हैं क्योंकि कम अनुरोध में यह जानकारी उपलब्ध है.