title: Android : Location Update in Mapview takes to long even tough Location is found
body: <p>I have a problem with my Location Listener in a MapView Application.
  Especially there is a Problem with the time, my actual Position will be painted on a Map.</p>
  
  <p>I attached two listeners to my MapView. The first one waits for a signal from the Network and the second one from the GPS. At the beginning of the Listener Implementation I get the Last Known Location to reduce the Time while other providers search a position.</p>
  
  <p>My LocationListner in the MapView is called as followed:</p>
  
  <pre><code>public void locationManager(){
  
      mLocationUpdateHandlerGPS       = new LocationUpdateHandler();
      mLocationUpdateHandlerNetwork   = new LocationUpdateHandler();
  
      mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  
      //-------Check if Network is available-----
      mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mLocationUpdateHandlerNetwork);
  
      //-------Check if GPS is available---------
      mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 1, mLocationUpdateHandlerGPS);
  
  
  }
  </code></pre>
  
  <p>The LocationUpdateHandler.class where i implemented the Listener looks like this:</p>
  
  <pre><code>public class LocationUpdateHandler implements LocationListener {
  
      @Override
      public void onLocationChanged(Location location) {
  
          location = mLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
  
          int lat = (int) (location.getLatitude() * 1E6);
          int lng = (int) (location.getLongitude() * 1E6);
  
          //Log Actual Position
          Log.v(TAG, "Actual Postion // Get Latitude: " + lat);           
          Log.v(TAG, "Actual Postion // Get Longitude: " + lng);
  
          mMyLocationOverlay.enableMyLocation();
          Log.v(TAG, "Enable Location returns: "+mMyLocationOverlay.enableMyLocation());
  
          mMyLocationOverlay.runOnFirstFix(new Runnable() {
              @Override
              public void run() {
                  mMapView.getController().animateTo(
                          mMyLocationOverlay.getMyLocation());
              }
          });
      }
  
  }
  </code></pre>
  
  <p>After the Map starts i check the Log Output from the DDMS and can see that the Location is get in Time.</p>
  
  <pre><code>08-29 14:50:16.136: VERBOSE/GeoTagMapActivity(7300): Running Activity GeoTagMapActivity
  08-29 14:50:20.691: VERBOSE/GeoTagMapActivity(7300): Enable Location returns: true
  08-29 14:50:20.691: VERBOSE/GeoTagMapActivity(7300): Actual Postion // Get Latitude: *******
  08-29 14:50:20.691: VERBOSE/GeoTagMapActivity(7300): Actual Postion // Get Longitude: *******
  </code></pre>
  
  <p>Nevertheless i takes another 2 - 5 minutes until the Position will drawn on the Map.</p>
  
  <p>I have no idea where's the Problem.
  Thanks for your help!</p>