Команда Geo Fix не передает высоту

В эмуляторе Android 2.2 команда "geo fix" не работает должным образом. Эмулятор отвечает "ОК", и onLocationChanged() правильно вызывается в моей программе. Однако объект Location кажется неполным — он прекрасно регистрирует широту и долготу, но не содержит показаний высоты: hasAltitude() возвращает false.

Есть идеи, почему?

Примеры команд эмулятора:

geo fix -74 40.75 500
geo fix -77 39 400.0

Фрагмент кода:

public void onLocationChanged(Location loc) {
    System.out.println("onLocationChanged Called");
    if (loc.hasAltitude()) {
        double newalt = loc.getAltitude();
        System.out.println("new altitude: " + newalt);
        gps[ALTITUDE] = newalt;
    } else {
        System.out.println("No altitude fix");
    }
    gps[LONG] = loc.getLongitude();
    System.out.println(gps[LONG]);
    gps[LAT] = loc.getLatitude();
    System.out.println(gps[LAT]);
}

Пример вывода:

onLocationChanged Called
No altitude fix
-74.012333333333333333
40.756666666666666667
onLocationChanged Called
No altitude fix
-77.012833333333333335
39.006499999999999996

person SirBoss    schedule 20.07.2010    source источник
comment
Аналогичный вопрос? stackoverflow.com/questions/11054379/   -  person roarster    schedule 06.10.2013


Ответы (1)


Это ошибка эмулятора, о которой сообщалось на странице https://code.google.com/p/android/issues/detail?id=24809

person Breandán Dalton    schedule 16.10.2013