合并dev_MogoAP_eagle-930_210926_8.0.12分支,并将规划全局路径以及引导线按照新架构中的监听合并,测试可用,在工控机上执行sh roadPlanning.sh 使用带有引导线的数据包

Signed-off-by: 董宏宇 <martindhy@gmail.com>
This commit is contained in:
董宏宇
2021-10-28 15:25:26 +08:00
parent 02f5f7cbee
commit a70eed4475
20 changed files with 377 additions and 471 deletions

View File

@@ -4,53 +4,33 @@ import android.content.Context;
import android.location.Location;
import android.util.Log;
import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.service.adas.IMogoAdasRouteCallBack;
import com.mogo.service.adas.IMogoAdasTrajectoryDataCallBack;
import com.mogo.service.adas.entity.ADASTrajectoryInfo;
import java.util.ArrayList;
import java.util.List;
public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2 {
private static volatile MogoRouteOverlayManager sInstance;
public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2, IMoGoAutopilotPlanningListener {
private static volatile MogoRouteOverlayManager sInstance;
private Context mContext;
private String TAG = "MogoRouteOverlayManager";
private MogoRouteOverlayManager(Context context){
private MogoRouteOverlayManager(Context context) {
mContext = context;
}
public void init() {
MogoApisHandler.getInstance()
.getApis()
.getRegisterCenterApi()
.registerCarLocationChangedListener( "MogoRouteOverlayManager",this);
MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasAutopilotRouteCallBack(new IMogoAdasRouteCallBack(){
@Override
public void routeResult(List<MogoLatLng> routeList) {
Log.e("lianglihui","routeResult:"+routeList.size());
RouteOverlayDrawer.getInstance(mContext).putRouteList(routeList);
}
});
MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasTrajectoryDataCallBack(new IMogoAdasTrajectoryDataCallBack() {
@Override
public void onAutopilotTrajectory(List<ADASTrajectoryInfo> trajectoryInfos) {
if (trajectoryInfos == null || trajectoryInfos.size() == 0){
return;
}
Log.e("lianglihui","trajectoryInfos:"+trajectoryInfos.size());
List<MogoLatLng> mogoLatLngs = new ArrayList<>();
for (ADASTrajectoryInfo a:trajectoryInfos) {
mogoLatLngs.add(new MogoLatLng(a.getLat(),a.getLon()));
}
RouteOverlayDrawer.getInstance(mContext).drawTrajectoryList(mogoLatLngs);
}
});
MogoApisHandler.getInstance()
.getApis()
.getRegisterCenterApi()
.registerCarLocationChangedListener("MogoRouteOverlayManager", this);
CallerAutopilotPlanningListenerManager.INSTANCE.addListener("MogoRouteOverlayManager", this);
}
public static MogoRouteOverlayManager getInstance(Context context) {
@@ -74,8 +54,9 @@ public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2
public void onCarLocationChanged(MogoLatLng latLng) {
}
public void updateLocation(Location location){
if (location == null){
public void updateLocation(Location location) {
if (location == null) {
return;
}
//坐标转换
@@ -90,4 +71,30 @@ public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2
loc.setProvider(location.getProvider());
RouteOverlayDrawer.getInstance(mContext).drawRouteOverlay(loc);
}
@Override
public void onAutopilotTrajectory(ArrayList<ADASTrajectoryInfo> trajectoryInfos) {
if (trajectoryInfos == null || trajectoryInfos.size() == 0) {
return;
}
Log.e(TAG, "trajectoryInfos:" + trajectoryInfos.size());
List<MogoLatLng> mogoLatLngs = new ArrayList<>();
for (ADASTrajectoryInfo a : trajectoryInfos) {
mogoLatLngs.add(new MogoLatLng(a.getLat(), a.getLon()));
}
RouteOverlayDrawer.getInstance(mContext).drawTrajectoryList(mogoLatLngs);
}
@Override
public void onAutopilotRotting(AutopilotRouteInfo routeList) {
if (routeList.getModels() == null || routeList.getModels().size() == 0) {
return;
}
List<MogoLatLng> latLngList = new ArrayList<>();
for (AutopilotRouteInfo.RouteModels routeModel : routeList.getModels()) {
latLngList.add(new MogoLatLng(routeModel.getLat(), routeModel.getLon()));
}
Log.e(TAG, "routeResult:" + latLngList.size());
RouteOverlayDrawer.getInstance(mContext).putRouteList(latLngList);
}
}