title: Android How to focus on current position
body: <p>Hi I've an android app that finds your location on google maps, but when I've started the app it started from Africa not in my current city,country,location etc. I've already checked info's on developer.android.com related with location issues but the problem persists.</p>
  
  <p>Here is the code; any ideas? thanks..</p>
  
  <pre><code>  package com.kodlab.nerdeyim;
  
    import android.location.Location;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
  
     import com.google.android.gms.common.ConnectionResult; 
     import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
     import  com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
     import com.google.android.gms.location.LocationClient;
     import com.google.android.gms.location.LocationListener;
     import com.google.android.gms.location.LocationRequest;
     import com.google.android.gms.maps.CameraUpdateFactory;
     import com.google.android.gms.maps.GoogleMap;
     import com.google.android.gms.maps.SupportMapFragment;
     import com.google.android.gms.maps.model.LatLng;
  
     public class MainActivity extends FragmentActivity implements ConnectionCallbacks,    OnConnectionFailedListener, LocationListener {
  
  private LocationClient locationClient;
  private LocationRequest locationRequest;
  private GoogleMap googleMap;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      locationClient = new LocationClient(this, this, this);
  
      locationRequest = LocationRequest.create()
                .setInterval(5000)
                .setFastestInterval(500)
                .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
  
      SupportMapFragment supportMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
      googleMap = supportMapFragment.getMap();
      googleMap.setMyLocationEnabled(true);   
  }
  
  @Override
  public void onLocationChanged(Location location) {
      HaritadaKonumGosterAsyncTask task = new HaritadaKonumGosterAsyncTask();
      task.execute(new Location[] {location});
  }
  
  @Override
  public void onConnected(Bundle connectionHint) {
      locationClient.requestLocationUpdates(locationRequest, this);
  }
  
  @Override
  public void onDisconnected() {}
  
  @Override
  public void onConnectionFailed(ConnectionResult result) {}
  
  @Override
  protected void onResume() {
      super.onResume();
      locationClient.connect();
  }
  
  @Override
  public void onPause() {
      super.onPause();
  
      if(locationClient.isConnected())
          locationClient.removeLocationUpdates(this);
  
      locationClient.disconnect();
  }
  
  private class HaritadaKonumGosterAsyncTask  extends AsyncTask&lt;Location, Void, LatLng&gt; {
  
      @Override
      protected LatLng doInBackground(Location... params) {
          Location konum = params[0];
          return new LatLng(konum.getLatitude(), konum.getLongitude());
      }
  
      @Override
      protected void onPostExecute(LatLng konum) {
          googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(konum, 15));
      }
  
  }
  
  
   }
  </code></pre>