0

ロケーションマネージャーサービスを作成しました。それで瞬間的な位置変化を捉えたい。サービス クラスを作成し、その中にLocationListener locationListener = new LocationListener() {@Override public void onLocationChanged(Location newLocation) {. しかし、リスナーの反応は鈍いようです。位置情報サービス クラスを改善しようとしています。このため、場所の変更をキャッチするための最速、時間、方法、およびその他の方法は何ですか?

たぶん、上記の質問は誰かにとってばかげているでしょう。一般的に、「デバイスの位置を取得する方法は何ですか?」を知りたいです。

4

4 に答える 4

1

これを実行できる簡単なクラスを作成しました。

public class GPSPosition {

private double latitude;


private double longitude;


private String date;


public GPSPosition()
{
    LocationManager service = (LocationManager)Minipark.getAppContext().getSystemService(Context.LOCATION_SERVICE);
    boolean isEnabled = service.isProviderEnabled(LocationManager.GPS_PROVIDER);
    Location location = service.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    if (isEnabled)
    {
        if (location != null)
        {

            this.longitude = location.getLongitude();
            this.latitude = location.getLatitude();

            Date locDate = new Date(location.getTime());
            DateFormat df = new SimpleDateFormat("z yyyy.MM.dd. HH:mm:ss");
            df.setTimeZone(TimeZone.getTimeZone("GMT+1"));
            String gmtTime = df.format(locDate);
            int position = gmtTime.indexOf(" ");
            gmtTime = "GMT+1" + gmtTime.substring(position, gmtTime.length());
            this.date = gmtTime; //GMT+1 time
        }
        else
        {
            this.longitude = -100000;
            this.latitude = -100000;
            this.date = "-100000";
        }
    }
    else 
    {
        this.longitude = -100000;
        this.latitude = -100000;
        this.date = "-100000";

    }
}

次に、X 秒ごとに GPSPosition クラスをインスタンス化するタイマーがあります。

于 2013-02-14T14:46:40.527 に答える
1

GPS_PROVIDER をロケーション マネージャーに割り当てると、修正に時間がかかる場合があります。精度が必要ない場合は、NETWORK_PROVIDER を LocationManger に割り当てます。

mLocationManager.requestLocationUpdates(
                LocationManager.NETWORK_PROVIDER, 0, 0,
                mLocationListener);

または、かかる時間に応じて両方を切り替えることができます....

于 2013-02-14T14:05:01.917 に答える
1

GPS とインターネット地理位置情報を使用して、ユーザーの位置を取得できます。これが私が見つけた最高のチュートリアルです。完全に機能し、オンになっているオプションで場所を取得します。いずれも有効になっていない場合は、設定に移動するように求められます.

http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/

于 2013-02-14T14:01:14.330 に答える
1

自分で場所の変更を取得したい場合は、特定の期間ごとに場所を取得するスレッドを起動する必要があります。GPS はデバイスのバッテリーを大量に消費することに注意してください。

乾杯

于 2013-02-14T14:01:48.700 に答える