【问题标题】:Show Current Location and Nearby Places and Route between two places using Google Maps API in Android在 Android 中使用 Google Maps API 显示当前位置和附近地点以及两个地点之间的路线
【发布时间】:2012-01-15 17:24:34
【问题描述】:

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

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

它应该接受我当前的位置并且输出应该显示最近的地方。

谁能帮我提供一些建议、链接、教程来做到这一点?

【问题讨论】:

标签: android google-maps google-places-api


【解决方案1】:
  1. 先通过this tutorial熟悉 Android 谷歌地图和这个 API 2

  2. 要检索设备的当前位置,请参阅 this answer 或此 another answerAPI 2 p>

  3. 然后您可以使用 Google Place API 获取您所在位置附近的地点,使用 Place Api 请参阅 this blog

    李>
  4. 获取附近位置的地标后,使用 this blog with source code 在地图上显示标记,并使用 API 2 进行气球叠加。

  5. 你也有很好的例子来绘制地图上两点之间的路线 查看这些链接Link1Link2以及这个Great Answer

按照这些步骤操作后,您将能够轻松完成您的申请。唯一的条件是,您必须阅读并理解它,因为它就像魔术一样不会在点击中完成。

【讨论】:

  • 如果任何链接无法打开,请在此处发表评论,将使用可用的最佳示例/博客进行更改。
  • 带有气球覆盖的Android项目已被弃用... :(
【解决方案2】:

到目前为止有很多答案,这些都是对 API 和教程的极好指针。我想补充的一件事是,我使用以下方法计算出标记离我的位置有多远:

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

希望这有助于完善您的问题的细节。它返回对点之间距离(​​以 m 为单位)的粗略估计,对于消除可能太远的 POI 很有用 - 有助于整理您的地图吗?

【讨论】:

    【解决方案3】:

    您可以在这里使用谷歌地图Obtaining User Location

    获取你的位置(经纬度)后,可以使用google place api

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

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

    【讨论】:

      【解决方案4】:

      您有两种显示地图的选项

      1. 使用 Android 地图库呈现地图
      2. 在网络视图中使用 Maps API V3

      用于显示纬度周围的本地 POI,长期使用 Places APIs

      【讨论】:

        猜你喜欢
        • 2016-11-01
        • 1970-01-01
        • 2017-06-12
        • 2017-04-12
        • 2014-09-16
        • 1970-01-01
        • 2010-11-03
        • 2015-11-30
        相关资源
        最近更新 更多