Показать текущее местоположение и близлежащие места и маршрут между двумя местами с помощью Google Maps API в Android - PullRequest
49 голосов
/ 08 декабря 2011

Мне нужно разработать приложение, используя Google Maps в Android, чтобы найти мое текущее местоположение , и мне нужно найти ближайшее местоположение .

(Например: Ближайший полицейский участок от моего текущего местоположения .)

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

Может кто-нибудь помочь мне дать какое-нибудь предложение, ссылки,учебник, чтобы сделать это?

Ответы [ 4 ]

148 голосов
/ 08 декабря 2011
  1. Сначала ознакомьтесь с этим учебным пособием для ознакомления с Google Maps Google для Android и API 2 .

  2. Чтобы узнать текущее местоположение устройства, см. этот ответ или этот другой ответ и для API 2

  3. Тогда вы можете найти места рядом с вашим местоположением, используя Google Place API и для использования Place Api см. в этом блоге .

  4. После получения меток ближайшего местоположения используйте этот блог с исходным кодом для отображения маркеров на карте с наложением воздушного шара с помощью API 2.

  5. У вас также есть отличный пример для рисования маршрута между двумя точками на картепосмотрите здесь в этих ссылках Link1 и Link2 и этот Отличный ответ .

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

13 голосов
/ 08 декабря 2011

Множество ответов пока что являются отличными указателями на API и учебные пособия. Одна вещь, которую я хотел бы добавить, это то, что я определяю, как далеко маркеры от моего местоположения, используя что-то вроде:

float distance = (float) loc.distanceTo(loc2);

Надеюсь, это поможет уточнить детали вашей проблемы. Он возвращает приблизительную оценку расстояния (в м) между точками и полезен для избавления от POI, который может быть слишком далеко - хорошо, чтобы очистить карту?

6 голосов
/ 08 декабря 2011

Вы можете использовать Google Map Получение местоположения пользователя здесь!

После получения вашего местоположения (долготы и широты) вы можете использовать Google Place API

Этот код может помочь вам легко определить ваше местоположение, но не лучшим образом.

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(bestProvider);  
5 голосов
/ 08 декабря 2011

У вас есть два варианта отображения карты

  1. Использование библиотеки карт для Android для отображения карты
  2. Использование Maps API V3 в веб-представлении

Для отображения локальных POI вокруг Lat, Long используйте Places APIs

...