From 2cdb769a5fc08e1efbf724cf92d3b108d634aa26 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 21 七月 2023 16:54:39 +0800 Subject: [PATCH] 计算中间点到目标点行走距离 --- src/main/java/com/zy/common/utils/NavigateUtils.java | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index 35b0f3a..eb2b668 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -13,7 +13,7 @@ */ public class NavigateUtils { - public static List<NavigateNode> calc(String startPoint, String endPoint, Integer mapType) { + public static List<NavigateNode> calc(String startPoint, String endPoint, Integer mapType, List<int[]> shuttlePoints) { //閫氳繃寮�濮嬬紪鍙峰拰缁撴潫缂栧彿鑾峰彇瀵瑰簲鐨剎y杞村潗鏍� int[] startArr = NavigatePositionConvert.positionToXY(startPoint);//寮�濮嬭妭鐐� int[] endArr = NavigatePositionConvert.positionToXY(endPoint);//缁撴潫鑺傜偣 @@ -30,7 +30,7 @@ start.setFather(null); NavigateNode end = new NavigateNode(endArr[0], endArr[1]); - NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList); + NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints); //寮�濮嬭妭鐐癸紝涓嶇撼鍏ョ鐢ㄨ妭鐐瑰唴璁$畻 NavigateNode res_node = solution.astarSearch(start, end); @@ -169,7 +169,7 @@ //鑾峰彇浠巟鐐瑰埌涓嬩竴鐐圭殑琛岃蛋璺濈 public static Integer getXToNextDistance(NavigateNode xNode) { NavigateMapData mapData = new NavigateMapData(); - List<List<MapNode>> lists = mapData.getJsonData(NavigationMapType.NONE.id, null); + List<List<MapNode>> lists = mapData.getJsonData(NavigationMapType.NONE.id, null, null); if (lists != null) { MapNode mapNode = lists.get(xNode.getX()).get(xNode.getY()); if (mapNode != null) { @@ -222,15 +222,15 @@ /** * 鑾峰彇涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� */ - public static Integer getMiddleToDistDistance(List<NavigateNode> path) { + public static Integer getMiddleToDistDistance(List<NavigateNode> path, Integer distance) { //涓棿璺緞 - NavigateNode middlePath = path.get(path.size() - 2); + NavigateNode middlePath = path.get(path.size() - distance); return middlePath.getMoveDistance(); } public static void main(String[] args) { //璁$畻璺緞 - List<NavigateNode> calc = calc("1000901", "1800201", NavigationMapType.NONE.id); + List<NavigateNode> calc = calc("1000901", "1800201", NavigationMapType.NONE.id, null); System.out.println(calc); System.out.println("------------------------"); // List<NavigateNode> calc = calc("0501401", "0201801", "out"); -- Gitblit v1.9.1