0

特定の場所のデータを取得するために、ユーザーの現在の場所をアプリケーションに取得する必要があるアプリケーションを開発します。これを始める前に、GPS システムが Android でどのように機能するか、および WiFi との関係を学びたいと思います。Android デバイスを参照して、GPS とジオコードに関する完全な説明を教えてください。

4

3 に答える 3

5

Android には、ユーザーの現在地を取得する 3 つの方法があります。

  1. Wi-Fi経由
  2. ネットワークプロバイダー経由。
  3. Android デバイスの GPS チップを介して。

これらの中で最も正確な方法は、GPS から座標を取得することです。これにより、緯度経度で正確な位置が取得されますが、ほとんどのバッテリーも使用されます. これは一般に、精度が重要なナビゲーション マップで使用されます。

残りの 2 つの方法は精度が低くなりますが、バッテリーの消費も少なくなります。現在地の精度がそれほど重要でない場合は、後の 2 つを使用できます。これらの方法はすべてLocationManager、Android から利用できます。

編集:

        // To get Updates From GPS Use
    mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
            currentlocation); 

       //To get Updates From network Use
    mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
            currentlocation);
于 2013-03-13T05:20:56.033 に答える
4

GPS

最近では、ほとんどの Android スマートフォンにAGPSチップが搭載されています。AGPSとは、ネットワーク タワーと WI-FI ホット スポットの助けを借りて近くの場所をすばやく特定し、Android GPS 対応スマートフォンが GPS 衛星でロックを取得できるようにするAssisted GPSを意味します。Android スマートフォンAGPSチップを使用すると、データプランやネットワークを必要とせずにGPS衛星をロックすることもできますが、GPS衛星をロックするには、空がきれいに見えることと時間が必要です.

Google マップは、アクティブなデータ接続で読み込まれるマップを備えたナビゲーション システムであり、通常、ネットワーク タワーや場所がそれほど正確ではない WI-FI ホット スポットの助けを借りてデバイスの位置を特定します。Android で正確な位置を取得するにはMy Locations の 2 つの設定は、1 つは少し計算可能なワイヤレス ネットワークの使用を有効にする設定で、もう 1 つは GPS 衛星の使用です。この設定には、より多くのバッテリーと空のクリアなビューが必要です。 GPS 衛星を最大限に活用します。

ジオコード

ジオコーディングとは、住所やその他の場所の説明を (緯度、経度) 座標に変換するプロセスです。

次のリンクは学習に役立ちます

1) https://developers.google.com/maps/documentation/directions/
2) http://blog.synyx.de/2010/06/routing-driving-directions-on-android-part-1-get- the-route/
3) http://eagle.phys.utk.edu/guidry/android/mappingDemo.html
4) Google Maps API バージョン違い

于 2013-03-13T05:47:52.650 に答える
1

これを見てください、それはあなたを助けるかもしれません、

LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();

mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
    mlocListener);


public class MyLocationListener implements LocationListener {

@Override
public void onLocationChanged(Location loc) {
loc.getLatitude();
loc.getLongitude();

Geocoder gcd = new Geocoder(getApplicationContext(),
        Locale.getDefault());
try {
    mAddresses = gcd.getFromLocation(loc.getLatitude(),
            loc.getLongitude(), 1);

} catch (IOException e) {

}

String cityName = (mAddresses != null) ? mAddresses.get(0)
        .getLocality() : TimeZone.getDefault().getID();
String countryName = (mAddresses != null) ? mAddresses.get(0)
        .getCountryName() : Locale.getDefault().getDisplayCountry()
        .toString();


       mCurrentSpeed.setText(loc.getSpeed());
   }

   @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) {
   }
 }
于 2013-03-13T05:47:01.217 に答える