Учитывая координаты GPS, как я нахожу соседние ориентиры или интересные места?

Я просто купил смартфон Google Nexus One, и я хочу записать маленькое приложение Android для забавы. Предположим, что я могу получить свои текущие координаты GPS, таким образом как я могу программно найти соседние ориентиры или интересные места в некотором радиусе? Существует ли API для получения, GPS геотегировал ориентиры, как в базе данных Google Earth?

Например, если бы я нахожусь в центре города Чикаго, моя программа указала бы на меня на все "туристические" вещи посетить в том городе.

Идеально, это все работало бы на моем смартфоне, но при необходимости, у меня может быть запрос смартфона веб-сервер, который затем выполнил бы больше запросов.

9
задан stackoverflowuser2010 13 April 2010 в 17:28
поделиться

3 ответа

Зависит от того, откуда вы получаете данные о ваших ориентирах. Если вы хотите выполнить веб-запрос, вы можете выполнить одно из перечисленных выше действий.

В качестве альтернативы - если у вас есть собственные данные, вы можете спрятать их в базе данных со значениями lat и lon, а затем сформировать ограничивающий прямоугольник для запроса. В этом вопросе рассказывается, как рассчитать ограничивающую рамку, которая покрывает заданный радиус вокруг вашей текущей точки (это будет прямоугольник, поэтому он будет больше круга ....

Как рассчитать ограничивающий прямоугольник для заданной точки) местоположение широты / долготы?

Теперь, используя ограничивающую рамку, вы можете выполнить запрос из своей базы данных , где lat minlat и lon> minlon и lon , которые предоставят вам все ваши

Затем, используя класс Location в API Android, вы можете заставить его вычислять азимут и расстояние до каждого попадания, а затем вы можете, например, отсортировать по радиусу от вашего местоположения.

4
ответ дан 4 December 2019 в 21:48
поделиться

Самый быстрый способ сделать это:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=business+near+city");
startActivity(intent);

После гео вы вводите свои координаты, а после q = вы вводите поисковые запросы, например, туризм + город. Это запустит приложение Google Maps с достопримечательностями.

Если вы хотите использовать представление карт внутри своего приложения, вам нужно будет получить данные из некоторой службы, например, вашей собственной. Однако вы можете получить данные из поиска Google ajax следующим образом: http://ajax.googleapis.com/ajax/services/search/local?v=1.0&rsz=large&gl=pl&q=tourism+ chicago Подробнее: http://code.google.com/apis/ajaxsearch/documentation/reference.html#_fonje_local Это даст вам результаты которые имеют географические координаты, и вам нужно будет найти способ проанализировать результаты и, возможно, поместить их в базу данных.

2
ответ дан 4 December 2019 в 21:48
поделиться

Еще одна веб-служба, на которую вы могли бы обратить внимание: http://developer.yahoo.com/geo/geoplanet/

1
ответ дан 4 December 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: