0

Я разрабатываю приложение для Android, которое показывает на карте текущее местоположение для пользователя.проблемы с менеджером местоположения в картах api v2 android

Спустя несколько часов, я обнаружил ошибку, locationManager не актуализирует местоположение.

Я поставил код по сравнению с locationManager:

mapa = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.mapaTapas)).getMap(); 

String serviceString = Context.LOCATION_SERVICE; 
LocationManager locationManager = (LocationManager)getSystemService (serviceString); 
String proovedor1 = LocationManager.GPS_PROVIDER; 
locationManager.getLastKnownLocation(proovedor1); 
String proovedor2 = LocationManager.NETWORK_PROVIDER; 
locationManager.getLastKnownLocation(proovedor2); 

locationManager.requestLocationUpdates(proovedor1, 5000, 5, new LocationListener() 
{ 
@Override 
public void onStatusChanged(String arg0, int arg1,Bundle arg2) { } 

@Override 
public void onProviderEnabled(String arg0) {} 

@Override 
public void onProviderDisabled(String arg0) {} 

@Override 
public void onLocationChanged(Location Location) 
    { 
     location=Location; 
    } 
}); 

locationManager.requestLocationUpdates(proovedor2, 5000, 5, new LocationListener() 
{ 
@Override 
public void onStatusChanged(String arg0, int arg1,Bundle arg2) { } 

@Override 
public void onProviderEnabled(String arg0) {} 

@Override 
public void onProviderDisabled(String arg0) {} 

@Override 
public void onLocationChanged(Location Location) 
{ 
    location=Location; 
    } 
}); 

location = locationManager.getLastKnownLocation(towers); 

    if(location != null){ 

     glat = location.getLatitude(); 
     glon = location.getLongitude(); 

     Log.i("location", "latitud: "+glat); 
     Log.i("location", "latitud: "+glon); 

} 

cp = new CameraPosition.Builder() 
     .target(new LatLng(glat, glon)) 
     .zoom(15) 
     .build();  
    mapa.animateCamera(CameraUpdateFactory.newCameraPosition(cp)); 

мне нужно сохранить в glat и Glon текущего значения местоположения и если это posibble реализовать какой-то способ, чтобы обновить его автоматически

ответ

0

Там в нет необходимости вручную запрашивать обновления местоположения от LocationManager, так что интерфейс OnMyLocationChangeListener был introduced.

Необходимо только включить слой моего местоположения (map.setMyLocationEnabled(true)), установить прослушиватель (map.setOnMyLocationChangeListener(this)) и сделать то, что вы хотите, с текущим местоположением (например, анимационной камерой), переданным обратно вам в соответствующем обратном вызове (обеспечивается реализацией этот интерфейс).