0
public class MyLocation  {
Context mContext;
LocationManager mlocManager;
LocationListener mlocListener;
double  lat=0,lng=0;

public MyLocation(Context mContext) {

    super();
    this.mContext = mContext;
    mlocManager = (LocationManager)mContext.getSystemService(mContext.LOCATION_SERVICE);
    mlocListener = new MyLocationListener();
    mlocManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);

}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener {
    private static final int TWO_MINUTES = 1000 * 60 * 2;


    public void onLocationChanged(Location loc) {
        loc.getLatitude();
        loc.getLongitude();

        String Text = "My current location is: " +"Latitud = " + loc.getLatitude() +"Longitud = " + loc.getLongitude();
    //  Toast.makeText( mContext,Text,Toast.LENGTH_SHORT).show();
        lat = loc.getLatitude();
        lng = loc.getLongitude();
    }

    public void onProviderDisabled(String provider){
        Toast.makeText(mContext,"Gps Disabled",Toast.LENGTH_SHORT ).show();
    }

    public void onProviderEnabled(String provider){
        Toast.makeText( mContext," Gps Enabled" ,Toast.LENGTH_SHORT).show();
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }
  }
}

このクラスは本来あるべき姿を返していません...私の場所はいつも何をすべき0.0 0.0かわかりません。

私はこのクラスをこのように使用します

mylocation = new MyLocation(this);

アプリケーションを起動するときにGPSとネットワークを有効にしているので、これは問題ではありません...

4

1 に答える 1

1

外に出てみてください(攻撃的な意味ではありません)。GPS は屋内で信号を受信できない場合があるため、実際のデータを取得するには、屋外の開けた場所に向かう必要がある場合があります。GPS が信号を検出できない場合は、0.0、0.0 を返します。

編集:また、GPS メソッドをオーバーライドしていないことに気付きました。それらにを追加してみてください@Override(つまりonLocationChangedonProviderEnabledonProviderDisabled、およびonStatusChanged)。これが役立つ場合があります。

編集 2:それでも問題が解決しない場合は、携帯電話の設定に移動し、[場所とセキュリティの設定] (デバイスによって名前が若干異なる場合があります) に移動し、[ワイヤレス ネットワークを使用する] と [GPS 衛星を使用する] の両方がオンになっていることを確認します。チェックオフ。

編集 3:
これはすべて独自のクラスであり、@Override にエラーはありません:

import android.location.Location;
import android.location.LocationListener;
import android.os.Bundle;

public class MyLocationListener implements LocationListener {

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

}
于 2012-08-08T11:55:03.353 に答える