首页 文章

在Android中使用Google Maps API显示当前位置和附近的地点以及两个地点之间的路线

提问于
浏览
49

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

(例如: Nearby police station from my current location . )

它应该接受我当前的位置和输出应该显示最近的地方 .

任何人都可以帮我提一些建议,链接,教程吗?

4 回答

  • 147

    到目前为止,很多答案都是API和教程的优秀指南 . 我想补充的一件事是,我使用以下内容计算标记距离我的位置的距离:

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

    希望这有助于改善问题的细节 . 它返回点之间距离(以m为单位)的粗略估计,对于摆脱可能距离太远的POI很有用 - 这对于整理 Map 有好处吗?

  • 5
    • 首先要通过 this tutorial 来熟悉Android Google Map ,这需要 API 2 .

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

    • 然后,您可以使用 Google Place API 获取您所在位置附近的地点,并使用Place Api查看 this blog.

    • 获取位置附近的地标后,使用 this blog with source code 在 Map 上显示标记,并使用API 2进行气球覆盖 .

    • 你也有很好的样本在 Map 上的两点之间绘制路线,请看这些链接 Link1Link2 以及这个Great Answer .

    完成这些步骤后,您将可以轻松地完成申请 . 唯一的条件是,你必须阅读并理解它,因为像魔术一样,它不会在点击中完成 .

  • 13

    您有两个显示 Map 的选项

    • 使用Android版Maps Library渲染 Map

    • 在Web视图中使用Maps API V3

    为了显示Lat周围的本地POI,请使用Places APIs

  • 6

    你可以在这里使用谷歌 Map 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);
    

相关问题