之前的文章总结了高德地图之拾取地点,接着在这个基础上继续总结了高德地图之路线规划,今天我们将在这个基础上来总结高德地图之实时导航。之前的文章如果没有看过的话,建议大家先了解一下,不然可能会看得不大懂。
其实实时导航相对来说应该是最简单的,但是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()