2011-06-20 18 views
0

次のコードに問題があります。私は携帯電話でGPS/WIFI/3Gを「オン」にしてはいけません。私はnetwork_providerからちょうどユーザーの場所を探したいのですが、何らかの理由で電話で0.0と0.0の緯度と経度を返します。助けてください。次のように私のコードは次のとおりです。次のようにアンドロイドのNetwork_Providerを通じて位置情報を取得できません!

LocationManager mlocManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE); 
      LocationListener mlocListener = new MyLocationListener(); 
      mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener); 
      TextView txt=(TextView)findViewById(R.id.coordinate); 
      txt.setText(latid+","+longid+","+accu+"m "+provider); 

とrequestLocationUpdatesは次のとおりです。

public class MyLocationListener implements LocationListener 
{ 
@Override 
public void onLocationChanged (Location loc) 
{ 
    latid=loc.getLatitude(); 
    longid=loc.getLongitude(); 
    accu=loc.getAccuracy(); 
    TextView txt=(TextView)findViewById(R.id.coordinate); 
    txt.setText(latid+","+longid+","+accu+"m"); 
    Toast.makeText (getApplicationContext(),"Entered function",Toast.LENGTH_SHORT).show(); 
} 
@Override 
public void onProviderDisabled (String provider) 
{ 
Toast.makeText (getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT).show(); 
} 
@Override 
public void onProviderEnabled (String provider) 
{ 
Toast.makeText (getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT) .show(); 
} 

@Override 

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

}/* End of Class MyLocationListener */ 

私は0.0と緯度と長いため0.0としてすべての出力を得ていた理由を知りたいと思いました。 さらに私が気づいたことは、私が家のWIFIに接続すれば、私の緯度と経度の修正が得られます。私はWIFI/3G/GPSなしで修正が得られない理由を知りたいです! 助けていただければ幸いです。

答えて

1

あなたはGeopointは、それがために使用よりも、1000000回に緯度と経度を回すからだと0.0 0.0、

を得ました。

gif 3gの無線LANに問題がある場合は、0.0,0.0を取得する代わりに例外が表示されます。

あなたが長いgeoPointオブジェクトに、ラのペアを割り当てしようとしているのであれば、

location.latitudeの値でyouselfを思い出してください* 1000000 = Geopoint.latitudeの値

location.longitudeの値* 1000000 = Geopoint.longitudeの値

**

ラ/長いあなたの現在の場所のは、無線LANデバイスの近似に基づいており、そしてそれはあなたがあなたの家の中に移動を感知することに敏感ではありません。だからこそ、あなたはla/longの修正を得ました。

関連する問題