android实现高德地图实时导航,高德地图之实时导航

本文详述了如何在Android中实现高德地图的实时导航功能,包括定义AMapNaviView,维护其生命周期,进行路线规划以及开启导航。特别强调了在多路线情况下如何选择指定路线并解决导航过程中遇到的问题,如活动回退导致的导航失效问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前的文章总结了高德地图之拾取地点,接着在这个基础上继续总结了高德地图之路线规划,今天我们将在这个基础上来总结高德地图之实时导航。之前的文章如果没有看过的话,建议大家先了解一下,不然可能会看得不大懂。

其实实时导航相对来说应该是最简单的,但是API讲的不是很清楚,于是我将自己的弯路一一道来,让大家看看有没有什么收获。首先,我们按照官网API的说法来走一遍,简单来说就四步:

定义AMapNaviView实现

简单来说就是声明一个控件,这个控件和前文的地图不是一个包了,代码如下:

AMapNaviView 的生命周期

无非就是维护生命周期,并且同路线规划一样实现导航视图事件监听接口——AMapNaviViewListener,代码如下:

进行路线规划

这里就一句话“具体参考:驾车路径规划或步行路径规划。”也就是说我们直接使用上文的路线规划就好了。这里有一个大坑,后文会提到。

开启导航

这个最简单,就是在第二步实现接口的时候,重写 onCalculateRouteSuccess()函数即可。

定义AMapNaviView实现

AMapNaviView 的生命周期

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//获取 AMapNaviView 实例

mAMapNaviView = (AMapNaviView) findViewById(R.id.navi_view);

mAMapNaviView.setAMapNaviViewListener(this);

}

@Override

protected void onResume() {

super.onResume();

mAMapNaviView.onResume();

}

@Override

protected void onPause() {

super.onPause();

mAMapNaviView.onPause();

}

@Override

protected void onDestroy() {

super.onDestroy();

mAMapNaviView.onDestroy();

}

开启导航

@Override

public void onCalculateRouteSuccess()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值