почему Geocoder.getFromLocationName (...) возвращает пустой список? - PullRequest
2 голосов
/ 19 мая 2010

Я впервые использую android.location.Geocoder. Идея заключается в следующем: у меня есть прослушиватель на кнопке, который принимает данные из EditText и определяет местоположение. До сих пор это фаза отладки, поэтому у меня нет обработчика, принимающего сообщения из потока, только геокодирование и запись в logcat. Q: Почему этот метод всегда возвращает пустой список объектов Address?

private View.OnClickListener checkLocation = new View.OnClickListener() {       

    @Override
    public void onClick(View v) {
        location = ((EditText)findViewById(R.id.getLocation)).getText().toString();
        Thread thr = new Thread(){
            public void run (){
                Log.d("Looking for", location);
                Geocoder gc = new Geocoder(ctx,Locale.ITALY);
                try {
                    fa= gc.getFromLocationName(location, 3);
                    if (fa.isEmpty())Log.d("getFromLocationName", "NothingFound");
                    else
                    {
                        int size= fa.size();
                        for (int i = 0; i<size ;i++)
                            Log.d("getFromLocationName.at("+ String.valueOf(i) +")", fa.get(i).getAddressLine(0)+", "+fa.get(0).getAddressLine(1));
                    }
                } catch (IOException e) {
                    Log.e("IOException", e.getMessage());
                }

            }
        };
        thr.start();

    }
};

манифест:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Кто-нибудь знает почему? (кстати я использую 1.6 SDK) Ввод попробовал

Ответы [ 2 ]

5 голосов
/ 19 мая 2010

проект не был нацелен на правильный AVD. Чтобы использовать геолокацию, вы должны указать, что AVD реализует API Google. Как только я изменил это все работало просто отлично. Извините за беспокойство

0 голосов
/ 19 мая 2010

Поскольку он не распознает адрес, который вы вводите, или не может связаться со службой.

Какой адрес вы вводите? Попробуйте что-нибудь простое, например, почтовый индекс, название города или штата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...