anchor.diff:  		      (format nil "~{~A:~A~^|~}" (loop for k in (jsown:keywords components)
   						    append (list k (jsown:val components k))))))
   	    parameters))
  +    (when bounds
  +      (push (cons "bounds" bounds) parameters))
  +    (when language
  +      (push (cons "language" language) parameters))
  +    (when region
  +      (push (cons "region" region) parameters))
       (jsown:parse
        (flexi-streams:octets-to-string
         (drakma:http-request (format nil "http~:[~;s~]://maps.googleapis.com/maps/api/geocode/json"
  
positive.code:    - latitude :: should contain the latitude, either as a string, or as a number.  used when
                   reverse geocoding.
     - longitude :: should contained the longitude, either as a string, or as a number.  used when
                    reverse geocoding."
    (assert (alexandria:xor (or address components) (and latitude longitude))
  	  (address components latitude longitude)
  	  "Must supply either latitude AND longitude, or address AND/OR components.")
  
negative.code:   "Set this parameter to a non-nil value if you want to default to using https, instead of http for
     the requests to google.")
  
  (defparameter *default-bounds* nil
    "The default bounds to use when performing requests")
  
  (defparameter *default-language* nil
    "The default language to use when performing requests")
  
  (defparameter *default-region* nil
    "The default region to use when performing requests")
  
  (defun call-google (&key
  		      (use-https-p *default-use-https-p*)
  		      (sensor *default-sensor*)
  		      address latitude longitude components
  		      (bounds *default-bounds*)
  		      (language *default-language*)
  		      (region *default-region*))
    "Sends a call to google and returns the response, as parsed by JSOWN.
     You must supply either latitude AND longitude, or address AND/OR components.  Nil-values are
     considered as not supplying the value.
  