Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Захарка
42 / 42 / 13
Регистрация: 16.06.2013
Сообщений: 225
Завершенные тесты: 2
#1

Получение адреса, по координатам - Программирование Android

29.09.2015, 00:21. Просмотров 984. Ответов 2
Метки нет (Все метки)

Здравствуйте. Заранее извиняюсь, за возможное непонимание очевидных вещей, я с явой, до прошлой недели был знаком только шапочно, но надо, значит надо... У меня такая вот проблема: мне нужно, имея координаты, полученные с GPS, Получить адрес ближайшего места. Я точно знаю, что в гуглопоиске такой функционал есть: Вот так...
Так вот, в итоге у меня появилось несколько проблемм/вопросов:
1)Я получаю координаты вот так им кодом, скопированным из уже не помню откуда:
Java
1
2
3
4
5
6
7
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
if(location != null)
    coordsText.setText(location.getLatitude() + " N " + location.getLongitude() + " E");
else
    coordsText.setText("Не удалось считать координаты");
И, он даже работает, НО! Он не пытается каким-либо образом получить координаты через GPS/Координат сети, а просто берёт последние полученные координаты! Я, конечно, подозреваю, что "getLastKnownLocation" написано неспроста, но там нету больше никаких подходящих функций, или я их в упор не вижу.

2) Возможно, есть стандартная функция, реализующая выдачу ближайшего места по координатам?
3) Я попробовал решить этот вопрос стандартным для меня способом - просто кидать запрос, через гуглопоиск, и парсить полученную страницу. Использовал вот такой код, и ещё несколько других, ни один не заработал как надо:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private String getContent(String path) throws IOException {
        BufferedReader reader = null;
        try {
            URL url = new URL(path);
            HttpURLConnection c = (HttpURLConnection) url.openConnection();
            c.setRequestMethod("GET");
            c.setReadTimeout(1000);
            c.connect();
            reader = new BufferedReader(new InputStreamReader(c.getInputStream()));
            StringBuilder buf = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                buf.append(line + "\n");
            }
            return (buf.toString());
        } finally {
            if (reader != null) {
                reader.close();
            }
        }
    }
Конкретно тут - приложение вываливается с ошибкой, на строке c.connect();
В других - ошибки, примерно аналогичные.

Подскажите пожалуйста, в чём может быть проблема?

P.S. Отлаживаю на планшете подключенном через WiFi соединение.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2015, 00:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получение адреса, по координатам (Программирование Android):

Программное получение белого IP адреса - Программирование Android
Всем добрый день! Наткнулся на необходимость получения IP адреса устройства в сети. Нагуглил следующую функцию: public String...

Как достать из телефонной книги адреса чатов, адреса проживания и сайты - Программирование Android
Здравствуйте, как достать из телефонной книги адреса чатов, адреса проживания и сайты. телефоны и имейлы я понял как достать, вот кусок...

Определение адреса по координатам - JavaScript
Добрый день! Есть код. Вообщем-то он стандартный для работы с Google Map. У меня есть несколько координат разных точек и мне нужно все...

получение дом элемента по координатам - JavaScript
Доброй ночи уважаемые форумчане. Помогите пожалуйста, уже всю плешь себе проел, не могу найти решения. Есть простая задача получить dom...

Получение ячейки JTable по координатам - Java
Здравствуйте. Ситуация следующая: Есть JTable(10 на 10). Допустим пользователь кликает мышкой по таблице: protected void...

Получение IP адреса - C#
как получить IP адрес сервера,скажем я нахожусь на сервере ftp.ubisoft.com и мне нужно получить его айпи,а еще лучше и порт,как это сделать?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 655
29.09.2015, 02:18 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Про получение координат можно прочитать тут. А для получения адреса(страна, город, улица и т.д.) по координатам понадобится класс Geocoder. Хотя у меня с ним не срослось и я писал свой кастомный. Получить JSON с адресом можно по следующей ссылке:
Java
1
2
String url = "http://maps.google.com/maps/api/geocode/json?latlng=" +
                latitude + "," + longitude + "&sensor=true&language=ru";
1
Захарка
42 / 42 / 13
Регистрация: 16.06.2013
Сообщений: 225
Завершенные тесты: 2
29.09.2015, 16:50  [ТС] #3
Mikalai, Большое спасибо, за помощь. Завтра буду разбираться в отличиях вашего примера работы с GPS, с тем, что уже прочитал по теме. И, за класс спасибо большое, тоже буду разбираться. Аналогично, спасибо за ссылку, но у меня проблема в другом была - приложение крашится, при попытке отправить запрос серверу.

Добавлено через 23 минуты
Mikalai, Громадное вам спасибо!!! Не удержался, сел проверять... Geocoder очень помог ,просто идеально подошел! Ещё раз громадное спасибо!

Добавлено через 12 часов 28 минут
И статья по GPS-у очень помогла, ещё раз спасибо. Я сам больше суток убил на поиски вменяемых материалов, но так ничего и не нашёл..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2015, 16:50
Привет! Вот еще темы с ответами:

Получение адреса - C++
Есть следующая строка: long int array; Что означает, если мы напишем следующее: (char*)Arr; Мы получим начало адреса...

Получение IP адреса (Си) - C++
Есть ли функция или библиотека для С для определения своего реального интернет IP адреса? Или может есть сервис?

Получение IP адреса - C#
Как можно в C# получить IP адресс машины и вывести его на экран (Консольное приложение)* Так же как можно отослать этот ип на мыло или...

Получение IP адреса - Java EE
Имеется веб-приложение, одной из задач которого является отображение IP адреса текущей машины. Вставляю на jsp страничку следующий код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru