title: JS Geolocation wait until success before return value
body: <p>I tried developing browser geolocation, but it seems geolocation quickly return a value when it is still searching for my location.</p>
  
  <p>Example of my script:</p>
  
  <pre><code>function updateCoordinate() {
          navigator.geolocation.getCurrentPosition(
                  function (position) {
                      setTimeout(function() {
                          var returnValue = {
                              latitude: position.coords.latitude,
                              longitude: position.coords.longitude
                          }
                          var serializeCookie = serialize(returnValue);
                          $.cookie('geolocation', serializeCookie);
                          return serializeCookie;
                      }, 5000);
                  },
                  function () {
                      alert('Sorry, we are failed to get your location')
                  }, {timeout: 5000}
          )
      }
  </code></pre>
  
  <p>If we execute this script <code>updateCoordinate</code>, the function will return <code>undefined</code>. But after a moment if we check the cookie it set right the coordinate.</p>
  
  <p>How to make getCurrentPosition waiting until get exact coordinate before returning the value?</p>