0

インターネットを使用せずにデバイスの現在の緯度と経度を取得できますか? 次のコードを使用しています。ボタンのクリック後にロケーションリスナーをトリガーしています。

        locationListener = new MyLocationListener();
        location.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 20, locationListener);


  private class MyLocationListener implements LocationListener 
  {
    @Override
    public void onLocationChanged(Location loc) 
    {
        longitude = String.valueOf(loc.getLongitude());  
        latitude = String.valueOf(loc.getLatitude());
                  ...
    }
}

インターネットに接続されている場合は経度と緯度の値を取得しますが、インターネットに接続していない場合は null を返します。

何が問題なのですか?LocationManager.NETWORK_PROVIDER、5000、20、locationListener は、緯度と経度を取得するためにインターネットを必要としますか?

インターネットが必要な場合、ネットワーク プロバイダー NETWORK_PROVIDER と GPS_PROVIDER の違いは何ですか?

4

1 に答える 1

1

ネットワーク プロバイダーは、Cell ID/WiFi 読み取り情報を緯度/経度アドレスに変換します。そのためにはデータ接続が必要です。(そのような情報のデータベースを持つ Google のサーバーにアクセスします)

GPS プロバイダーを使用します。インターネットは必要ありません。

于 2013-01-22T06:39:39.400 に答える