1

次のコードを使用して、緯度と経度を取得しています。常にネットワークプロバイダーに依存することは問題ありませんか?

public static String getLatitudeLongitudeString() {
    LocationManager lm = (LocationManager) GlobalApplication
            .getAppContext().getSystemService(Context.LOCATION_SERVICE);

    Location location = lm
            .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

    if (location == null) {
        return "";
    } else {
        Geocoder geocoder = new Geocoder(GlobalApplication.getAppContext());
        try {
            List<Address> user = geocoder.getFromLocation(
                    location.getLatitude(), location.getLongitude(), 1);
            double lat = (double) user.get(0).getLatitude();
            double lng = (double) user.get(0).getLongitude();
            return lat + "," + lng;
        } catch (Exception e) {
            Trace.e("Failed to get latitude and longitude", e);
            return "";
        }
    }
}
4

2 に答える 2

1

正直なところ、それは「依存」します。しかし、私はこの記事をレビューして、オプションの最良の組み合わせが何であるかを理解すると言います。パッシブプロバイダー(Froyo +)が他のアプリからのGPS更新をキャッチすることをお勧めします...また、それを何に使用しているかによって異なります。マッピングアプリの場合はGPSが必要ですが、「サンフランシスコにいます」と入力するだけの場合は、精度が低くても問題ありません...

于 2012-07-19T00:40:22.587 に答える
0

Salilがユースケースで述べたようにそれは異なります。言い換えれば、それはあなたが必要とする場所の詳細の粒度に要約されます。たとえば、天気予報アプリケーションを作成する場合、ほとんどの場合、都市を知っていれば十分です。ユーザーの移動に合わせて地図を更新する場合は、GPSプロバイダーが提供する理想的な位置を特定する必要があります。

于 2012-07-19T03:12:15.030 に答える