0
            //Show the current coordinates (Convert to String and round off - 6 decimal places)
        String printLat = new DecimalFormat("0.######").format((double)currentLat);
        String printLon = new DecimalFormat("0.######").format((double)currentLon);

        AlertDialog alert = new AlertDialog.Builder(Main.this).create();
        alert.setTitle("Current Location:");
        alert.setMessage("Latitude: " + printLat+ "\n" + "Longitude: " + printLon);
        alert.setButton("Close", new DialogInterface.OnClickListener()
        {               
            public void onClick(DialogInterface arg0, int arg1)
            {
                // TODO Auto-generated method stub
                //Alert Dialog won't work without a listener
                //Do nothing (This will simply close your alert dialog)
            }
        });     
        alert.show();

これが私のメインクラスの一部です。

エミュレータから送信しているものを取得する必要があります。しかし、正確な値を取得する代わりに、私はこれを得ています:

緯度 - 14.069315 経度 - 121.323738

しかし、私はこれを(エミュレーターコントロールから)送信しました 緯度 - 14.069316 経度 - 121.323739

これは 10 進数の 1 つの問題であり、小さな値ですが、これらの値を使用して Google マップにマーカーを追加するため、これがアプリケーションに表示される内容に大きな影響を与えるのではないかと心配しています。

助言がありますか?

4

1 に答える 1

2

これは私には丸め誤差のように聞こえます。

小数点第 6 位の数値は、地上で 1 メートル未満に相当するため (場所の緯度によって異なります)、この量の誤差については心配しません。

于 2012-07-09T23:02:08.480 に答える