0

GPSから現在の経度と緯度を取得するAndroidアプリを開発しています。次のコードがあります

public class setting extends Activity {

TextView longval;
TextView latval;

@Override
public void onCreate(Bundle savedInstanceState){
/** Called when the activity is first created. */
    super.onCreate(savedInstanceState);
    setContentView(R.layout.setting);

    longval = (TextView)findViewById(R.id.longitudefield);
    latval = (TextView)findViewById(R.id.latitudefield);

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

//Location lastLocation = locationManager.getLastKnownLocation(locationManager.GPS_PROVIDER);
LocationListener locationListener = new myLocationListener();

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
class myLocationListener implements LocationListener{

    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
        if(location != null){
            double longitude = location.getLongitude();
            double latitude = location.getLatitude();
            //Toast.makeText(getApplicationContext(), Double.toString(longitude), Toast.LENGTH_SHORT).show();
            longval.setText(Double.toString(longitude));
            latval.setText(Double.toString(latitude));
        }
    }

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

    }

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

    }

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

    }

}

いつ携帯電話 (Galaxy Nexus) に挿入したかわかりません。携帯電話の上部にあるバーに GPS アイコンが表示されました。ただし、テキストフィールドは更新されず、現在の経度と緯度が表示されません。それが私のコードの問題なのか、それとも電話の問題なのかを尋ねたいのですが? モバイルデータなしでwifiをオンにしています。onLocationChanged が呼び出されていないようです。

みんな、ありがとう!

4

2 に答える 2

4

GPSを使用して部屋/アパート内の緯度経度を取得するのは困難です.LocationManager.GPS_PROVIDERの代わりにLocationManager.NETWORK_PROVIDERを使用してください..それはあなたの問題を解決します.

于 2012-05-23T09:45:01.127 に答える
0

コードは正しいです。デバイスにインストールした後、現在の場所を少なくとも 10 メートル変更します。現在の部屋から少なくとも 10 メートル離れた別の部屋に移動します。出力が得られることを願っています....

于 2012-09-28T03:21:44.173 に答える