指导您使用 Fragment 方式实现导航功能。
核心类/接口
类 | 接口 | 说明 | 版本 |
---|---|---|---|
AMapNaviView | onCreate(Bundle savedInstanceState) | 与Activity onCreate同步 | V1.0.0 |
onResume() | 与Activity onResume同步 | V1.0.0 | |
onPause() | 与Activity onPause同步 | V1.0.0 | |
onDestroy() | 与Activity onDestroy同步 在1.6.0之前,此方法会自动执行AMapNavi.stopNavi(); 在1.6.0之后(包括1.6.0),请用户自己根据需要选择执行AMapNavi.stopNavi() | V1.0.0 | |
AMapNavi | calculateDriveRoute(java.util.List<NaviLatLng> from, java.util.List<NaviLatLng> to, java.util.List<NaviLatLng> wayPoints, int strategy) | 计算驾车路径(包含起点)。 | V1.0.0 |
startNavi(int naviType) | 开始导航。实时导航GPS未开启时,会自动打开GPS定位功能。模拟导航则不需要使用定位功能。 | V1.0.0 | |
AMapNaviListener | onCalculateRouteSuccess() | 路径规划的成功的回调函数。 | V1.0.0 |
1、如何使用 Fragment 方式进行导航页面展示。
a)定义布局。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.amap.navifragement.NaviFragment">
<com.amap.api.navi.AMapNaviView
android:id="@+id/navi_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
b)实现 AMapNaviView 的生命周期。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_navi, container, false);
mAMapNaviView = (AMapNaviView) view.findViewById(R.id.navi_view);
mAMapNaviView.onCreate(savedInstanceState);
mAMapNaviView.setAMapNaviViewListener(this);
return view;
}
@Override
public void onResume() {
super.onResume();
mAMapNaviView.onResume();
}
@Override
public void onPause() {
super.onPause();
mAMapNaviView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mAMapNaviView.onDestroy();
}