使用Google Maps API在Android中展示当前位置、附近地点和两个地点之间的路径

51

我需要在Android中使用Google Maps开发一个应用程序,以定位我的当前位置并需要查找最近的位置

(例如:从我的当前位置查找附近的警察局。)

该应用程序应该接受我的当前位置,并显示最近的地点。

有人能帮我提供一些建议、链接或教程来完成这个任务吗?


3
我可以在谷歌地图上加载我的当前位置了。 - agiles
http://www.androidhive.info/2012/08/android-working-with-google-places-and-maps-tutorial/ - Dev.Sinto
4个回答

151
  1. 首先阅读此教程,熟悉 Android Google 地图,并查看API 2

  2. 为了获取设备的当前位置,请参见此答案另一个答案,以及关于API 2的内容。

  3. 然后,您可以使用Google Place API获取附近地点,并查看此博客中如何使用 Place Api。

  4. 在获取附近位置的 Placemarks 后,使用此带源代码的博客来在地图上显示标记和气球覆盖物(使用 API 2)。

  5. 您还可以使用很棒的示例,在地图上绘制两点之间的路线。请点击以下链接查看:Link1 以及 Link2,还有这个Great Answer

按照这些步骤,您将轻松完成应用程序。唯一的条件是,您必须仔细阅读并理解它,因为它不会像魔术一样在单击中完成。


4
如果任何链接无法打开,请在此处发表评论,我们将更换为可用的最佳示例/博客。 - MKJParekh
Android 带气球叠加的项目已经过时了... :( - Jorgesys

13

迄今为止有很多很好的指向API和教程的答案。我想要补充的是,我会使用类似以下代码来计算标记物距离我的位置有多远:

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

希望这可以帮助您细化问题的细节。它返回点之间距离(以米为单位)的大致估计值,并且有助于去除可能太远的POI-对于清理地图很有用吗?


6

你可以在这里使用谷歌地图获取用户位置!

在获取您的位置(经度和纬度)后,您可以使用谷歌地点API

以下代码可以帮助您轻松获取您的位置,但不是最佳方法。

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(bestProvider);  

5

显示地图有两种方法:

  1. 使用 Android 的 Maps 库来渲染地图
  2. 在 Web 视图中使用 Maps API V3

如果要显示周围的本地 POI,请使用Places APIs


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接