2013-05-11 3 views
0

У меня есть код в OnCreate()Android менеджер Расположение - жди расположение

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
locationManager.requestLocationUpdates( 
LocationManager.GPS_PROVIDER, 500, 1, new LocationListener(){ 
      @Override 
      public void onLocationChanged(Location loc) { 
           CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(loc.getLatitude(), loc.getLongitude())); 
           myMap.moveCamera(center); 
      } 
}); 

Это происходит, когда изменяется положение пользователя, но я хочу, чтобы это произошло один раз. Я хочу, чтобы ждать, пока новое место не будет получено, чтобы перейти на новую карту местоположения, а затем не перемещать карту для пользователя

+0

Не понимаю, что вы имеете в виду. Вы хотите установить камеру один раз для местоположения пользователя? –

+0

Да. Я хочу, чтобы один только перемещал камеру, не используя метод locationManager.getLastKnownLocation(); –

ответ

1

член класса

private LocationManager mLocationManager; 
MyLocationListener mLocationListener 

locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
MyLocationListener mLocationListener = new MyLocationListener(); 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 1, myLocationListener); 

public MyLocationListener extends LocationListener 
{ 
     @Override 
     public void onLocationChanged(Location loc) { 
       CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(loc.getLatitude(), loc.getLongitude())); 
       myMap.moveCamera(center); 
       mLocationManager.removeUpdates(mLocationListener): 
      } 

     @Override 
     public void onProviderDisabled(String provider) 
     { 

     } 

     @Override 
     public void onProviderEnabled(String provider) 
     { 

     } 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) 
     { 

     } 

} 
Смежные вопросы