首页 > Java > java教程 > 正文

如何使用 Android SDK 在 Google 地图上绘制行车路线?

Mary-Kate Olsen
发布: 2024-10-31 21:34:02
原创
229 人浏览过

How can I draw driving directions on Google Maps using the Android SDK?

使用 Android API v2 在 Google 地图上绘制行车路线

使用 Google 地图时,通常需要显示两个位置之间的行车路线。虽然可以在点之间绘制直线,但它并不能准确地表示驾驶路线。

要获取实际的驾驶方向,请考虑使用专门为此目的设计的库。其中一个库是 Android-GoogleDirectionLibrary,可在 https://github.com/akexorcist/Android-GoogleDirectionLibrary 获取。

该库通过处理来简化获取两点之间的行车路线的过程与 Google 地图 API 的通信。要使用它:

  1. 将库添加为项目中的依赖项:

    <code class="xml">dependencies {
     implementation 'com.github.akexorcist:Android-GoogleDirectionLibrary:1.2.8'
    }</code>
    登录后复制
  2. 创建 DirectionManager 类的实例:

    <code class="java">DirectionManager manager = new DirectionManager();</code>
    登录后复制
  3. 设置出发地和目的地:

    <code class="java">manager.setOrigin(new LatLng(12.917745600000000000, 77.623788300000000000))
        .setDestination(new LatLng(12.842056800000000000, 7.663096499999940000)); </code>
    登录后复制
  4. 使用监听器处理服务器响应:

    <code class="java">manager.execute(new OnGetDirectionListener() {
     @Override
     public void onDirectionSuccess(Route route) {
         // Handle the direction result successfully
     }
    
     @Override
     public void onDirectionFailure(Throwable t) {
         // Handle the direction failure
     }
    });</code>
    登录后复制
  5. 或者,您可以使用回调:

    <code class="java">manager.execute(new DirectionCallback() {
     @Override
     public void onDirectionSuccess(Direction.Response results, RawResponse rawResponse) {
         // Handle the direction result successfully
     }
    
     @Override
     public void onDirectionFailure(Throwable t) {
         // Handle the direction failure
     }
    });</code>
    登录后复制

Route 对象或 Direction.Response 对象提供对各种详细信息(如持续时间、距离)的访问,以及航路点列表。然后,您可以使用此信息在地图上准确绘制行车路线。

以上是如何使用 Android SDK 在 Google 地图上绘制行车路线?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!