1

実際の緯度と経度を取得する必要があるアプリがあります。ここに投稿されたコードを使用してそうしようとしています: How do I get the current GPS location programmatically in Android? クラスGPSTracker

問題は、場所を取得するのが遅すぎる場合や、古い場所を取得する場合があることです。場所を追跡し続ける必要はありません。ユーザーがボタンを押したときに場所を取得する必要があるだけです。Google のマップ アプリを使えばすぐに取得できますが、どうすればよいですか?

4

3 に答える 3

1

http://developer.android.com/training/location/retrieve-current.htmlから参照されているように、新しく導入された融合ロケーション プロバイダーを使用してみてはどうでしょうか。

public static class MyActivity extends Activity
            implements
                GooglePlayServicesClient.ConnectionCallbacks,
                GooglePlayServicesClient.OnConnectionFailedListener,
                LocationListener {
        private LocationRequest lr;
        private LocationClient lc;
        Location location;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // inflate view
        lr = LocationRequest.create();
        lr.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
        lc = new LocationClient(this,
                this, this);
        lc.connect();
    }

    @Override
    public void onLocationChanged(Location location) {
       //Get new Location here.
    }

    @Override
    public void onConnectionFailed(ConnectionResult arg0) {

    }

    @Override
    public void onConnected(Bundle connectionHint) {
        lc.requestLocationUpdates(lr, this);
        // get last Location
        location = lc.getLastLocation();
    }

    @Override
    public void onDisconnected() {

    }
}
于 2013-09-09T12:31:19.773 に答える