title: Get best possible location in certain time
body: <p>In my app I need to get users location (one shot, not continuously track), to calculate routes. So the location needs to be as accurate as possible but I do not want to keep user waiting too long when my app tries to get the accurate location.</p>
  
  <p>Im using Google Play services location api like this:</p>
  
  <pre><code>LocationRequest locationRequest = LocationRequest.create();
  locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
  locationRequest.setNumUpdates(1); 
  LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,locationRequest, this);
  mLocationHandler.sendEmptyMessageDelayed(0, 15000); // Time out location request
  </code></pre>
  
  <p>I have Handler mLocationHandler, which cancels locationRequest after 15 second, as I do not want to keep user waiting too long.</p>
  
  <p>Is there any way, how I can try to get not so accurate location if the high accuracy location times out?</p>