2011-02-25 26 views
1

ユーザーの位置の緯度と経度を見つけてマップに表示する必要がある1つのアプリケーションで作業しています。しかし、インターネットがデバイス上にあるときは、正常に動作します。しかし、私はインターネットを切断した後にしようとすると、その緯度と長いヌルを得る。Androidの緯度と経度

クエリ:

  1. iは緯度と長いprogrammaticlyを見つけたい場合は、インターネット接続があるはずですか?
  2. インターネットに接続していないと、私は緯度と経度をプログラム的に見つけることができますか?

答えて

0

あなたはこのようなLocationListenerと 何か実装することで、プログラム的にデバイスの位置を決定することができます

LocationManager locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
locmgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); //"this" implements LocationListener 

@Override 
public void onLocationChanged(Location location) { 
    //do whatever with "location" 
} 

すべてのインターネット接続のための必要はありませんが、あなただけの場所プロバイダー(A-GPS、GPS)が必要です

3

実際、Androidがあなたの経度/緯度を判断する方法は2通りあります。

  • GPSが有効化されている場合ではない場合、それは
  • をGPSを使用して、それはあなたがしているセル、またはIPアドレスに基づいて、それを決定するためにネットワーク(または無線LAN)を使用しています。

GPSが無効になっている(または屋内または気象条件が悪いために信号を受信できない)場合、ネットワークもAndroidは座標を計算できません。

+0

など、アイコンを変更する場所の変更にカスタムのものを行うには、サブクラスMyLocationOverlayはGPSを起動することができることを追加する必要がありますすることができますが、人工衛星からの信号は、(例えば、空が曇っている)が存在しません。 –

+0

この部分を追加、thanks :) –

0

マップに表示する場合は、MyLocationOverlayを使用します。その方法は、独自のlocationListenersを実装するのが簡単です。 enableMyLocation onResume()およびdisableMyLocation onPause()を呼び出します。

また