class_docstr: Google Geocoding API
  ====================
  Geocoding is the process of converting addresses into geographic
  coordinates (like latitude 37.423021 and longitude -122.083739),
  which you can use to place markers or position the map.
  API Reference
  -------------
  https://developers.google.com/maps/documentation/geocoding
  
  For ambiguous queries or 'nearby' type queries, use the Places Text Search instead.
  https://developers.google.com/maps/documentation/geocoding/best-practices#automated-system
  
  Parameters
  ----------
  :param location: Your search location you want geocoded.
  :param components: Component Filtering
  :param method: (default=geocode) Use the following:
      > geocode
      > places
      > reverse
      > timezone
      > elevation
  :param key: Your Google developers free key.
  :param language: 2-letter code of preferred language of returned address elements.
  :param client: Google for Work client ID. Use with client_secret. Cannot use with key parameter
  :param client_secret: Google for Work client secret. Use with client.
class_docstr_tok: ["Google","Geocoding","API","====================","Geocoding","is","the","process","of","converting","addresses","into","geographic","coordinates","(","like","latitude","37.423021","and","longitude","-122.083739",")",",","which","you","can","use","to","place","markers","or","position","the","map",".","API","Reference","--","--","--","--","--","--","-","https",":","\/\/developers.google.com\/maps\/documentation\/geocoding","For","ambiguous","queries","or","'nearby","'","type","queries",",","use","the","Places","Text","Search","instead",".","https",":","\/\/developers.google.com\/maps\/documentation\/geocoding\/best-practices","#","automated-system","Parameters","--","--","--","--","--",":","param","location",":","Your","search","location","you","want","geocoded",".",":","param","components",":","Component","Filtering",":","param","method",":","(","default=geocode",")","Use","the","following",":",">","geocode",">","places",">","reverse",">","timezone",">","elevation",":","param","key",":","Your","Google","developers","free","key",".",":","param","language",":","2-letter","code","of","preferred","language","of","returned","address","elements",".",":","param","client",":","Google","for","Work","client","ID",".","Use","with","client_secret",".","Can","not","use","with","key","parameter",":","param","client_secret",":","Google","for","Work","client","secret",".","Use","with","client","."]
code: def rate_limited_get(self, *args, **kwargs):
      if not self.rate_limit:
          return super(GoogleQuery, self).rate_limited_get(
              *args, **kwargs
          )
      elif self.client and self.client_secret:
          return self.rate_limited_get_for_work(*args, **kwargs)
      else:
          return self.rate_limited_get_for_dev(*args, **kwargs)
  
imports: from __future__ import absolute_import
  import six
  from geocoder.base import OneResult, MultipleResultsQuery
  from geocoder.keys import google_key, google_client, google_client_secret
  from collections import OrderedDict
  import ratelim
label_desc: Use image node_id 5 for calling the GoogleQuery obj's underlying member method code with example usage: obj.rate_limited_get() and returns: super, self, self