配置工程:
路线规划跟导航都是使用了对象AMapNavi mapNavi; 类需要implements AMapNaviListener 这个接口,并实现
Android 导航 SDK | Android SDK |
---|---|
V1.0.0 | V2.2.1或以上版本 3D地图包 |
V1.1.0 | V2.3.0或以上版本3D 地图包 |
- 导航 SDK开发包解压后得到:“Android_Navi_V1.X.X.jar”和文件夹“armeabi”(含libtbt.so文件)。
- 3D地图包解压后得到:“ Android_Map_2.x.x.jar ”和文件夹“ armeabi ”(以 V2.2.1为例,含 libamapv303.so 和 libmapv303ex.so 文件)。
路线规划跟导航都是使用了对象AMapNavi mapNavi; 类需要implements AMapNaviListener 这个接口,并实现
@Override
public void onArriveDestination() {
// TODO Auto-generated method stub
}
@Override
public void onArrivedWayPoint(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onCalculateRouteFailure(int arg0) {
// TODO Auto-generated method stub
}
//导航成功后,执行该方法,先进行路线绘制,再跳转到导航界面
@Override
public void onCalculateRouteSuccess() {
// TODO Auto-generated method stub
AMapNaviPath naviPath = mapNavi.getNaviPath();
if (naviPath == null) {
return;
}
// 获取路径规划线路,显示到地图上
mRouteOverLay.setRouteInfo(naviPath);
mRouteOverLay.addToMap();
//跳转到导航界面
Intent intent = new Intent(MainActivity.this,
NaviActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
AMapNavi.getInstance(this).removeAMapNaviListener(this);
}
@Override
public void onEndEmulatorNavi() {
// TODO Auto-generated method stub
}
@Override
public void onGetNavigationText(int arg0, String arg1) {
// TODO Auto-generated method stub
}
@Override
public void onGpsOpenStatus(boolean arg0) {
// TODO Auto-generated method stub
}
@Override
public void onInitNaviFailure() {
// TODO Auto-generated method stub
}
@Override
public void onInitNaviSuccess() {
// TODO Auto-generated method stub
}
@Override
public void onLocationChange(AMapNaviLocation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onNaviInfoUpdated(AMapNaviInfo arg0) {
// TODO Auto-generated method stub
}
@Override
public void onReCalculateRouteForTrafficJam() {
// TODO Auto-generated method stub
}
@Override
public void onReCalculateRouteForYaw() {
// TODO Auto-generated method stub
}
@Override
public void onStartNavi(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onTrafficStatusUpdate() {
// TODO Auto-generated method stub
}
在适当的位置进行注册监听,并进行步行导航
AMapNavi.getInstance(this).setAMapNaviListener(this);
//启动步行路线规划
AMapNavi.getInstance(this).calculateWalkRoute(mNaviStart,
mNaviEnd);
@@成员变量 mRouteOverLay
@@成员变量 mRouteOverLay
private RouteOverLay mRouteOverLay;//路线规划的绘制工具
aMap = mapView.getMap();
setUpMap();
mRouteOverLay = new RouteOverLay(aMap, null); //实例化绘制工具
在导航成功函数里@Override
public void onCalculateRouteSuccess() {
// TODO Auto-generated method stub
} 里实现
AMapNaviPath naviPath = mapNavi.getNaviPath();
if (naviPath == null) {
return;
}
// 获取路径规划线路,显示到地图上
mRouteOverLay.setRouteInfo(naviPath);
mRouteOverLay.addToMap();
第(5)将介绍导航界面的实现