Android: получить неправильные значения из DDMS - PullRequest
0 голосов
/ 27 марта 2012

Я хочу получить значения с плавающей точкой из DDMS, но он отправляет целое число Exemple: долгота: 2.351696 широта: 48.857593

Но я получаю долгота: 2,0 широта: 48,0

Как я могу сделать эту работу?

LocationManager lm = (LocationManager) getSystemService (Context.LOCATION_SERVICE); lm.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, this);

}


@Override
public void onLocationChanged(Location location) {
    latitude = location.getLatitude();
    longitude = location.getLongitude();
    if (location != null) {
        Toast.makeText(this, "ma position :" + latitude + ", " + longitude,
                Toast.LENGTH_LONG).show();
        Log.i("latitude", "" + latitude);
        Log.i("longitude", "" + longitude);

    }

Бревно:

03-27 09: 25: 20.163: I / широта (793): 48,0 03-27 09: 25: 20.163: I / долгота (793): 2,0

приватные двойные getDistanceBetweenPoints (двойной лат1, двойной длинный2, двойной прибытие_лат, двойной прибытие_длин) {

    int R = 6371; // km

    double dLat = Math.toRadians(arrive_lat - lat1);
    double dLon = Math.toRadians(arrive_long - long2);

    double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)
            + Math.cos(Math.toRadians(lat1))
            * Math.cos(Math.toRadians(arrive_lat)) * Math.sin(dLon / 2)
            * Math.sin(dLon / 2);
    double c = 2 * Math.asin(Math.sqrt(a));
    double d = R * c;

    return d*1000;
}

1 Ответ

1 голос
/ 27 марта 2012

Запуск в эмуляторе - вот проблема. На вашем ПК не будет чипа GPS, поэтому вы не получите очень точные координаты.

Для получения дополнительной информации и помощи о том, как высмеивать точные географические местоположения: http://developer.android.com/guide/topics/location/obtaining-user-location.html

И ранее обсуждалось на stackoverflow .... Точность GPS эмулятора Android

...