fix for 2.1 android
git-svn-id: https://osmand.googlecode.com/svn/trunk@312 e29c36b1-1cfa-d876-8d93-3434fc2bb7b8
This commit is contained in:
parent
f3f0e1d5ce
commit
3d2692afd9
2 changed files with 10 additions and 4 deletions
|
@ -212,6 +212,9 @@ public class MapActivity extends Activity implements LocationListener, IMapLocat
|
||||||
if(prefs == null || !prefs.contains(OsmandSettings.LAST_KNOWN_MAP_LAT)){
|
if(prefs == null || !prefs.contains(OsmandSettings.LAST_KNOWN_MAP_LAT)){
|
||||||
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
|
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
|
||||||
Location location = service.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
Location location = service.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
||||||
|
if(location == null){
|
||||||
|
location = service.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
|
||||||
|
}
|
||||||
if(location != null){
|
if(location != null){
|
||||||
mapView.setLatLon(location.getLatitude(), location.getLongitude());
|
mapView.setLatLon(location.getLatitude(), location.getLongitude());
|
||||||
mapView.setZoom(14);
|
mapView.setZoom(14);
|
||||||
|
@ -606,14 +609,14 @@ public class MapActivity extends Activity implements LocationListener, IMapLocat
|
||||||
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
|
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
|
||||||
|
|
||||||
service.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
service.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
||||||
LocationProvider prov = service.getProvider(LocationManager.GPS_PROVIDER);
|
if(!isRunningOnEmulator()){
|
||||||
if(!service.isProviderEnabled(LocationManager.GPS_PROVIDER) && !isRunningOnEmulator()){
|
// try to always ask for network provide it is faster way to find location
|
||||||
service.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
service.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
||||||
prov = service.getProvider(LocationManager.NETWORK_PROVIDER);
|
|
||||||
currentLocationProvider = LocationManager.NETWORK_PROVIDER;
|
currentLocationProvider = LocationManager.NETWORK_PROVIDER;
|
||||||
} else {
|
} else {
|
||||||
currentLocationProvider = LocationManager.GPS_PROVIDER;
|
currentLocationProvider = LocationManager.GPS_PROVIDER;
|
||||||
}
|
}
|
||||||
|
LocationProvider prov = service.getProvider(currentLocationProvider);
|
||||||
|
|
||||||
providerSupportsBearing = prov == null ? false : prov.supportsBearing() && !isRunningOnEmulator();
|
providerSupportsBearing = prov == null ? false : prov.supportsBearing() && !isRunningOnEmulator();
|
||||||
providerSupportsSpeed = prov == null ? false : prov.supportsSpeed() && !isRunningOnEmulator();
|
providerSupportsSpeed = prov == null ? false : prov.supportsSpeed() && !isRunningOnEmulator();
|
||||||
|
|
|
@ -281,9 +281,12 @@ public class SearchPOIActivity extends ListActivity implements LocationListener,
|
||||||
if (searchNearBy) {
|
if (searchNearBy) {
|
||||||
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
|
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
|
||||||
service.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
service.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
||||||
if (!isRunningOnEmulator() && !service.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
|
if(!isRunningOnEmulator()){
|
||||||
|
// try to always ask for network provide it is faster way to find location
|
||||||
service.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
service.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, GPS_TIMEOUT_REQUEST, GPS_DIST_REQUEST, this);
|
||||||
currentLocationProvider = LocationManager.NETWORK_PROVIDER;
|
currentLocationProvider = LocationManager.NETWORK_PROVIDER;
|
||||||
|
} else {
|
||||||
|
currentLocationProvider = LocationManager.GPS_PROVIDER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue