Geolocation Component - Google+ API JSONP requests 1

Adding functions to perform a JSONP request to the Google+ search API

HTML

<!DOCTYPE html>
<html>
  <head>
    <!-- Coded by Jason Mayes. Questions? Get in touch at: www.jasonmayes.com -->
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="author" content="Jason Mayes" />
	<meta name="description" content="HTML5 template" />
	<meta name="keywords" content="HTML5, template" />
    <title>HTML5 Template</title>
    <script type="text/javascript" src="//maps.googleapis.com/maps/api/js?sensor=false"></script>
  </head>
  <body>
    <h1>Geolocation Component + Maps API + Google+ API</h1>
    <div id="geoResults"></div>
    <div id="map"></div>
  </body>
</html>

CSS

/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

h1 {
  font-size:18pt;
  margin:15px 0 15px 0;
}

ul {
  margin:10px 0 10px 0;    
}

ul, li {
  margin-left:15px;
}

li {
  list-style:circle;    
}

#map {
  height:400px;
  width: 100%;
}

JavaScript

/**
 * @fileoverview A Geolocation component. Depends on Google Maps API.
 * @author Jason Mayes
 */
var geoComponent = function() {

  /**
   * Google API Key to use for requests to Google APIs.
   */
  var googleApiKey = null;

  /**
   * The callback function upon receiving Geolocation data.
   */
  var geolocateCallbackFunction = null;

  /**
   * Store reference to the returned watchPosition geolocation object.
   * @type {integer}
   */
  var continuousReference = null;

  /**
   * Store reference to geocoder Google Maps object
   * @type {google.maps.Geocoder}
   */
  var geocoder = null;

  /**
   * Loads an external JavaScript file into the current DOM.
   * @param {string} url The url to the JavaScript content we wish to load.
   */
  function loadJavaScript(url) {
    var node;
    node = document.createElement('script');
    node.type = 'text/javascript';
    node.src = url;
    document.getElementsByTagName('head')[0].appendChild(node);
  }

  /**
   * Check if Geolocation is supported by the clients web browser.
   * @return {boolean} If the Geolocation object is available to use or not.
   */
  function isSupported() {
    if(window.navigator.geolocation) {
      return true;
    } else {
      return false;
    }
  }

  /**
   * Handle successful geolocation.
   */
  function geolocateSuccess(position) {
    geolocateCallbackFunction(position);
  }

  /**
   * Handle geolocation errors.
   */
  function geolocateError(error) {
    if (error.code === 1) {
      // User denied access to their location.
    }
    else if (error.code === 2) {
      // No position could be obtained.
    }
    else {
      // Request for location timed out.
    }
  }

  // Public properties.
  return {

    /**
     * Geolocate user.
     * @param {function} callback - Required: The function to call once 
     * geolocation complete.
     * @param {integer} maxAge - Optional parameter for the maximum time in
     * miliseconds we will allow to use a previously...