0

私は次のクラスを持っています

public class GPSManager  {


Context MyContext;
boolean GotLocation = false;
Location CurrentLocation;

public GPSManager(Context context){
    MyContext =  context;
}
LocationManager locationManager = (LocationManager)MyContext.getSystemService(MyContext.LOCATION_SERVICE);


LocationListener locationlistener = new LocationListener() {
    public void onLocationChanged(Location location) {
      // Called when a new location is found by the network location provider.
        GotLocation = true;
      CurrentLocation = location;
    }

//等

アクティビティから呼び出される以下のように呼び出される

GPSManager myGPS = new GPSManager(this);

しかし、実行すると失敗すると、デバッガーのように(Eclipse ではまだ新しい) ヌル値だと思います。

私が欲しいのは、現在の場所を返すクラスだけです(最後に知っている場所は必要ありません)

4

1 に答える 1

1

アクティビティから現在の場所を取得でき
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); locationListener = new CurrentGPSLocation();locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
ます。onCreate 関数に追加します。
それから加えて...
private class CurrentGPSLocation implements LocationListener { @Override public void onLocationChanged(Location location) { if (location != null) { GeoPoint CurrentLocation = new GeoPoint( (int) (location.getLatitude() * 1E6), (int) (location.getLongitude() * 1E6)); } }

于 2012-06-17T09:46:15.920 に答える