0

これが私のアプリです:

public class HlavnaAktivita extends MapActivity implements LocationListener {
...
    public void onLocationChanged(Location location) {
            Log.w("myApp", String.valueOf(location.getLatitude()));
    }

たとえば、48.590007 と 17.824579 をエミュレータに渡すと、「17.0」とだけ書き込まれます。http://www.androidcompetencycenter.com/?s=GPSこのチュートリアル (StackOverflow から)を試してみました。そのアプリを実行すると、適切な位置が書き込まれますが、マップ上では位置 (17, 48) が丸められます (位置によるとmaps.google.com は良いですが、地図では cca 100km が間違っています)。

何が問題なのですか?たくさんのチュートリアルを試しましたが、まだうまくいきません。

4

3 に答える 3

0

それはどこかであなたの数をintに変換します。それを避けるために、次のようなことを試してください。

Log.w("myApp", String.valueOf((float) location.getLatitude()));
于 2012-12-02T18:54:52.390 に答える
0


マップ上の正確な位置を取得するには、ポイントの緯度と経度の2つのパラメータが必要です。
GeoPoint緯度と経度をマイクロ度で受け入れるので、精度を上げるために次のようにポイントを作成してみてください。

double lati = location.getLatitude();
double longi = location.getLongitude();
GeoPoint geo_point= new GeoPoint((int)(lati * 1e6),(int)(longi * 1e6));
于 2012-12-02T17:04:54.647 に答える
0

これは私の間違いでした - () を追加するのを忘れていました。ごめん。

于 2013-04-08T10:11:00.390 に答える