2012-01-02 4 views
0

私は緯度と経度を検索するためのコードを試していますが、座標を与えるのに時間がかかったり、全く座標が与えられていません。サムスンギャラクシータブで自分のコードを試しています。 アンドロイドGPSデバイスがその緯度と経度を取得するのにかかる時間

LocationManager mlocManager; 
double lat,lng; 
LocationListener mlocListener = new MyLocationListener(); 

は、私は()メソッドのonCreateで以下のコードを呼び出す

mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 

リスナーMyLocationListenerクラスコードは下回っている問題、任意のポインタをすることができたり、私が考慮されていない何

public class MyLocationListener implements LocationListener 

     { 




     @Override 
     public void onLocationChanged(Location loc){ 

     loc.getLatitude(); 

     loc.getLongitude(); 

     String Text = "My current location is: " + "Latitude = " + loc.getLatitude() + "Longitude = " + loc.getLongitude(); 
     String latLongString = ""; 
     if (loc != null) { 
      lat = loc.getLatitude(); 
      lng = loc.getLongitude(); 
      latLongString = "Lat:" + lat + "\nLong:" + lng; 
      TextView myLocationText = (TextView)findViewById(R.id.FindUsTextView); 
      myLocationText.setText("Your Current Position is:\n" + latLongString); 
      System.out.println(latLongString); 

     } 
     /* findUsProgressbarField.setVisibility(View.INVISIBLE);*/ 
     Toast.makeText(FindUs.this, Text, Toast.LENGTH_SHORT).show(); 
     mlocManager.removeUpdates(mlocListener); 

     } 

     @Override 

     public void onProviderDisabled(String provider){ 

     Toast.makeText(getApplicationContext(),"Gps Disabled, Please Enable the GPS", 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){ 

     } 



     } 
     @Override 
     protected void onDestroy() { 
     super.onDestroy(); 
     if (mlocManager != null) { 
      mlocManager.removeUpdates(mlocListener); 
      mlocManager = null; 
     } 
     } 

いくつかの点。 あなたの返事を楽しみにしています。ありがとう。

+2

「設計通り」のように聞こえます。 Co ordsは常に利用可能なわけではありません。そして、それらを最初に得ることは高価です(時間内に)。 –

答えて

1

ほとんどの人のように内部でテストしているのがこれを開発する際にはかなり標準的です。 GPSは空を見るのが好きです。良い大きな窓の隣に座ってみてください。それはわたしを助ける。

1

ギャラクシータブにA-GPS(Assisted GPS)機能が搭載されている場合、つまり、「ワイヤレスネットワークを使用する」の「場所とセキュリティ」設定がある場合は、これを有効にするとロックが速くなります。あなたのコードでNETWORK_PROVIDERオプションを使用しない場合でも。

これは、その時刻にあなたの(近似した)位置でどの衛星を見なければならないかをデバイスに知らせる天体暦データとアルマナックデータが電話ネットワークを介して送信されるためです。

1

私も同じ問題を抱えていて、何かGPSやプログラムに問題があると思っています。それから私は私のオフィスの側でそれを試して、それは完全に働いた。開いたスペースや窓の近くでモバイルを試してみてください:)

乾杯。

0

GPSの修復を取得するにはかなりの時間がかかることがあります。これはGPS衛星の位置やGPSユニットが衛星をはっきりと見るかどうかなど、多くの変数によって異なります。 GPS信号は非常に弱いので、多くの場合、建物によってブロックされます。

このように、これはユーザーにも遭遇するものですので、修正が得られない場合や修正が遅れてもアプリを使用可能にしてください。

開発中は、デバイスの偽の場所にフィードを提供することがありますが、デバイスの開発者のオプションで「偽の場所を許可する」を有効にする必要があります。これは開発をスピードアップします。

関連する問題