监听adas返回全局路径,配置高德路径规划参数

This commit is contained in:
liujing
2022-06-23 20:47:18 +08:00
parent 0acae7f18d
commit 6f00c9569e

View File

@@ -81,6 +81,7 @@ import mogo.telematics.pad.MessagePad;
/**
* 小地图的方向View
* 监听自动驾驶路径结束,结束高德地图导航
*
* @author donghongyu
* @date 12/14/20 4:40 PM
*/
@@ -722,11 +723,38 @@ public class SmallMapDirectionView
}
//自动驾驶状态开启之后返回,真实路径需要确认返回时间
//数据返回之后触发路算
/**
* 根据全路径获取起始点和经停点进行导航路线绘制
* 自动驾驶启动后获得数据,获取全路径的具体时间要进行路测
* 室内某个bag包自动驾驶启动8s后返回
*/
@Override
public void onAutopilotRotting(@org.jetbrains.annotations.Nullable MessagePad.GlobalPathResp globalPathResp) {
List list = globalPathResp.getWayPointsList();
Log.d(TAG, "adas返回全路径:" + list.toString());
int minCount = 2;
if (list.size() >= minCount) {
Location sLocation = (Location) list.get(0);
Location eLocation = (Location) list.get(list.size() - 1);
mStartLatlng = new NaviLatLng(sLocation.getLongitude(), sLocation.getLatitude());
mEndLatlng = new NaviLatLng(eLocation.getLongitude(), eLocation.getLatitude());
sList.add(mStartLatlng);
eList.add(mEndLatlng);
for (int i = 1; i < list.size() - minCount; i++) {
Location wayLoc = (Location) list.get(i);
NaviLatLng way = new NaviLatLng(wayLoc.getLongitude(), wayLoc.getLatitude());
mWayPointList.add(way);
}
}
int strategy = 0;
try {
//再次强调最后一个参数为true时代表多路径否则代表单路径
strategy = mAMapNavi.strategyConvert(true, false, false, false, false);
} catch (Exception e) {
e.printStackTrace();
}
Log.d(TAG, "calculateDriveRoute:" + sList.toString() + "," + eList.toString() + "," + mWayPointList.toString());
//指定路径绘制导航路线
mAMapNavi.calculateDriveRoute(sList, eList, mWayPointList, strategy);
}
}