Ich verwende Google APIs und die MapActivity, MapView etc ..
Als ich mich diesen Code das erste Mal verwenden muß, um meinen aktuellen Standort zu erhalten:Soll ich jedesmal, wenn ich nach Standortaktualisierungen frage, den androiden LocationManager.getBestProvider verwenden?
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);
}
Ich habe auch eine „zurück zu dem aktuellen Standort Taste "- wenn der Benutzer die Karte bewegt und schnell zu seinem aktuellen Standort zurückkehren möchte.
Meine Frage ist, sollte ich die getBestProvider()
Methode jedes Mal Ich möchte Informationen erhalten Ort verwenden?
konnte ich den letzten gewählten Providers, aber die Bedingungen könnte jede Änderung Sekunde:
- Benutzer ausgeschaltet GPS
- Kein GPS-Signal
- NETWORK_PROVIDER in der aktuellen Situation besser ist
- etc ..
Was ist der richtige Ansatz?
http://stackoverflow.com/questions/3145089/what-is-the-simplest-and-most-robust-way- to-get-the-users-aktueller-Standort-in-a/3145655 # 3145655. Überprüfen Sie den Link. Sie können Antworten auf Ihre Fragen finden. – Raghunandan
Das beantwortet meine Frage immer noch nicht. Mein Code funktioniert auch. Aber sollte oder sollte ich den getBestProvider nicht jedes Mal aufrufen? Meiner Meinung nach ja .. –
http://developer.android.com/guide/topics/location/strategies.html#BestEstimate. Sie sollten wahrscheinlich über diesen Link gehen. – Raghunandan