Възможен дубликат:
GPS не актуализира местоположението след затваряне и повторно отваряне на приложението на android
Знам, че този въпрос вече е зададен, но проблемът ми е такъв.
всеки път, когато отворя приложението си, то показва последно местоположение, а не текущо местоположение
Имам бутон за текущо местоположение и искам, когато отворя приложението си, да показва текущото местоположение на картата, след което, когато щракна върху бутона, да показва текущото местоположение.
така че проблемът ми е, че когато отворя приложението си, то показва последното местоположение, но когато натисна, показва текущото местоположение.
код в onCreate()
_locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
_locationListener = new CurrentLocationListener(this,this);
_locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1,1,_locationListener );
_currentGeoPoint = getKnownLocation();
_currentPosOverlay = new OverlayItem(_currentGeoPoint, "", "");
Log.d(" overlay", "overlaylast "+_currentGeoPoint);
// Toast.makeText(getBaseContext(), "overlay12333vvv "+_currentGeoPoint, Toast.LENGTH_SHORT).show();
_customOverlay.addOverlay(_currentPosOverlay);
_mapOverlays.add(_customOverlay);
Код за getKnownLocation()
// TODO Auto-generated method stub
Location lastLocation = _locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(lastLocation == null){
lastLocation = _locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}
if(lastLocation != null){
GeoPoint gp = new GeoPoint((int)(lastLocation.getLatitude() * 1e6), (int)(lastLocation.getLongitude() * 1e6));
last_loc=gp;
return gp;
}else {
return _mapView.getMapCenter();
}
За бутона, който извиках getKnownLocation()