2015-05-23 3 views
0

Я пытаюсь получить адрес из местоположения. Я делаю это внутри асинтезы внутри Fragement. Весь другой код работает отлично (проверяя API и устанавливая некоторые элементы пользовательского интерфейса на его основе), но этот раздел для геокодирования просто не будет. Я последовал примеру из другого места в StackOverflow (не помню точной темы).Android Reverse Geocoding

TextView locTxt = (TextView) findViewById(R.id.locationText); 
       Geocoder geocoder; 
       List<Address> addresses; 

       Double x = 55.971627; 
       Double y = -3.602585; 


       try 
       { 
        geocoder = new Geocoder(getActivity(), Locale.ENGLISH); 
        addresses = geocoder.getFromLocation(x, y, 1); 
        StringBuilder str = new StringBuilder(); 
        if (geocoder.isPresent()) 
        { 
         Toast.makeText(getApplicationContext(), 
           "geocoder present", Toast.LENGTH_SHORT).show(); 
         Address returnAddress = addresses.get(0); 

         String localityString = returnAddress.getLocality(); 
         String city = returnAddress.getCountryName(); 
         String region_code = returnAddress.getCountryCode(); 
         String zipcode = returnAddress.getPostalCode(); 

         str.append(localityString + ""); 
         str.append(city + "" + region_code + ""); 
         str.append(zipcode + ""); 

         locTxt.setText(str); 



        } 
        else 
        { 
         Toast.makeText(getApplicationContext(), "geocoder not present", Toast.LENGTH_SHORT).show(); 
        } 
       } catch (IOException e) {} 

Когда он попадает в, если заявление на geocoder.isPresent() является терпит неудачу, если и только продолжает с остальной частью программы.

+0

У вас есть разрешение на подключение к Интернету? '' – Andy

+0

@ Andy Извините, я думал, что отправил обратно эту тему. Я решил его решить. Это проблема с эмулятором. Даже когда вы устанавливаете координаты GPS для эмулятора, он не запускает код GeoCoding. Однако работает отлично на физическом устройстве. – jskrwyk

ответ

0

Проблема с Android Emulator. Даже когда вы устанавливаете координаты через командную строку, эмулятор не будет преформировать код GeoCoding и, следовательно, не выполнит мой контроль, если присутствует GeoCoder. Хорошо работает на физическом устройстве.

Смежные вопросы