、MapViewのは、など。
は:は、私はアンドロイドLocationManager.getBestProvider私は位置情報の更新をお願いするたびに使用する必要がありますか?私はこのコードを最初に使用し、私の現在の位置を取得する必要があるとき私は、GoogleのAPIとMapActivityを使用してい
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);
}
は、私はまた、「戻って現在の場所に持っていますユーザーが地図を移動して現在の場所にすばやく戻りたい場合に使用します。
私の質問は、私は、位置情報を取得したい は私がgetBestProvider()
方法たびを使用する必要があります、ありますか?
私は最後選びだしプロバイダを救うことができるが、条件は、第二のすべての変更ができます
- ユーザーがオフになっては
- ませんGPS信号
- NETWORK_PROVIDERが
- など、現在の状況で優れているGPS ...
正しいアプローチは何ですか?
http://stackoverflow.com/questions/3145089/what-is-the-simplest-and-most-robust-way- -取得 - ユーザー - 現在のロケーションイン/ 3145655#3145655。リンクを確認してください。あなたはあなたの質問に対する答えを見つけることができます。 – Raghunandan
これは私の質問にまだ答えません。私のコードも動作します。しかし、私は毎回getBestProviderを呼び出さないといけませんか?私の意見ではい... –
http://developer.android.com/guide/topics/location/strategies.html#BestEstimate。あなたはおそらくこのリンクを通るべきです。 – Raghunandan