2011-10-28 15 views
0

を失敗したがAndroidの座標から、と私はtoast.maketextメソッドを使用して座標をプリントアウトしたいです。私のコードは次のようなものです。どんなに座標コンバートlastKnowLocationは、Toast.maketextを使用してプリントアウトが、私はGPSを持っている

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

    LocationListener LocListener = new LocationListener(){ 

     public void onLocationChanged(Location loc) { 

     } 

     public void onProviderDisabled(String provider) { 

     } 

     public void onProviderEnabled(String provider) { 

     } 

     public void onStatusChanged(String provider, int status, Bundle extras) { 

     } 
    }; 

    locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, LocListener); 

    Location lastKnownLocation = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
    double latitude=lastKnownLocation.getLatitude(); 
    double longtitude=lastKnownLocation.getLongitude(); 
    CharSequence coordinate="Latitude = " + Double.toString(latitude) + "\nLongitude = " + Double.toString(longtitude); 

    Toast.makeText(getApplicationContext(), coordinate, Toast.LENGTH_SHORT).show(); 

は、アプリケーションがあるためToast.maketextの誤用を実行することはできません、文字列またはのCharSequenceです。しかし、Eclipseコンパイラはこの問題を決して特定しません。私はこの問題をどうやって処理しますか?

答えて

0

あなたはそれが間違ってやっています。 getLastKnownLocation()は、最後キャッシュされた場所を提供します。たとえば、電話がオフの場合、そのようなキャッシュされた場所は存在しない可能性があります。そこからトーストを投稿LocationオブジェクトからLocationオブジェクトがnullある場合に、チェックされていない場合、(緯度、経度)を取得onLocationChanged()コールバックで

また、デバッグのためにLogCatを使用することをお勧めします、この場合には、ロケーション・フィックスを毎秒を取得します。 onLocationChanged()コールバックにLog.d("WOOO", "Location received" + loc.getLatitude() + " " + loc.getLongitude());を使用してください。

関連する問題