Invers Geocoding не работает - PullRequest
       24

Invers Geocoding не работает

0 голосов
/ 04 февраля 2012

Я борюсь с этим и не могу восстановить ...

Моя проблема в том, что у меня есть Activity, когда при нажатии кнопки таймер начинает считать, и в тот же момент получает координаты и сохраняет их в переменной. Затем при повторном нажатии кнопки таймер останавливается и получает новые координаты и сохраняет их в других переменных.

Затем я делаю геокодирование invers с этим кодом:

private void tradueixpos() {
    Geocoder geoCoder = new Geocoder(this, Locale.getDefault());
    try {
        Log.v("e", String.valueOf(latituteField));
        Log.v("e", String.valueOf(longitudeField));
        List<Address> Locat = geoCoder.getFromLocation(latituteField, longitudeField, 1);
        if (!Locat.isEmpty()) {
            Address address = Locat.get(0);
            result = address.getAddressLine(0) + ", " + address.getLocality();
            //number = address.getSubThoroughfare();
            //streetName = address.getThoroughfare();
            //Log.v("e", number+", "+streetName);
        }
        else {
            Log.v("error", "no trobat");
        }       
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

Таким образом, после этого он передает начальный адрес и окончательный адрес другому виду деятельности.

Моя проблема в том, что он возвращает ноль или когда-то не работал, и все время появляются ошибки. Я думаю, что геокодирование не работает.

(я работаю с API 15)

Я поставил разрешения, так кто-нибудь может помочь мне сделать это ??

спасибо

Ответы [ 2 ]

0 голосов
/ 04 февраля 2012

Если вы тестируете в эмуляторе, то в более поздних версиях эмулятора служба не работает. Например, я знаю, что он не работает в API 9. Я не удивлюсь, если то же самое верно для API 15. Я знаю, что эмулятор API 7 работает, поэтому вы можете попробовать тот же код в API 7. реальные устройства все еще работают нормально. (Мой Пряничный телефон работает нормально)

0 голосов
/ 04 февраля 2012

Посмотрите на http://developer.android.com/reference/android/location/Geocoder.html. Там написано:

Класс Geocoder требует бэкэнд-сервис, который не включен в основной Android фреймворк. Методы запроса Geocoder вернут пустой список, если нет никакого бэкэнда сервис на платформе. Используйте метод isPresent (), чтобы определить, является ли геокодер реализация существует.

...