Sto utilizzando le API di Google e il MapActivity, MapView ecc ..
Quando ho bisogno di ottenere la mia posizione attuale io uso questo codice la prima voltaDevo utilizzare Android LocationManager.getBestProvider ogni volta che chiedo aggiornamenti di posizione?
myLocationManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
// Sets the criteria for a fine and low power provider
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
crit.setPowerRequirement(Criteria.POWER_LOW);
// Gets the best matched provider, and only if it's on
String provider = myLocationManager.getBestProvider(crit, true);
// If there are no location providers available
if (provider == null){
OnClickListener listener = new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Closes the activity
finish();
}
};
Utils.getInstance().showAlertDialog(this, R.string.warning_dialog_title,
R.string.no_location_providers_error_message,
android.R.drawable.ic_dialog_alert, false, listener);
}
// Location services is enabled
else{
myLocationListener = new MyLocationListener();
myLocationManager.requestLocationUpdates(
provider,
0,
0,
myLocationListener);
// TODO - put a marker in my location
GeoPoint currentGeoPoint = MapUtils.getInstance().
getCurrentLocation(myLocationManager, provider);
// Center to the current location
centerLocation(currentGeoPoint, MAX_ZOOM);
}
mi hanno anche un "ritorno alla posizione corrente pulsante "- per quando l'utente sposta la mappa e desidera tornare rapidamente alla posizione corrente.
La mia domanda è, dovrei usare il metodo getBestProvider()
ogni volta voglio ottenere informazioni sulla posizione?
sono riuscito a salvare l'ultimo fornitore scelto, ma le condizioni potrebbero cambiare ogni secondo:
- utente spento GPS
- No GPS segnale
- NETWORK_PROVIDER è migliore nella situazione attuale
- ecc ..
Qual è l'approccio giusto?
http://stackoverflow.com/questions/3145089/what-is-the-simplest-and-most-robust-way- to-get-the-utenti-corrente-posizione-in-a/3145655 # 3145655. Controlla il link. Potresti trovare le risposte alle tue domande. – Raghunandan
Questo ancora non risponde alla mia domanda. Anche il mio codice funziona. Ma dovrei o non dovrei chiamare il getBestProvider ogni volta? A mio parere si .. –
http://developer.android.com/guide/topics/location/strategies.html#BestEstimate. Probabilmente dovresti passare attraverso questo link. – Raghunandan