From 190201789934d7b2b4344e0eba6b4a0c2e38f54e Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 27 八月 2025 14:34:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/NavigateUtils.java | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index d49b64b..eb76e13 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -231,9 +231,47 @@ return findTargetLocation(endPath); } + public String calcFirstLocation(String startPoint, String endPoint, List<NavigationMapType> mapTypes, List<int[]> shuttlePoints, List<int[]> whites, int firstPathNumber) { + //璁$畻璺緞 + List<NavigateNode> navigateNodes = calc(startPoint, endPoint, mapTypes, shuttlePoints, whites); + if (navigateNodes == null) { + News.error("{} dash {} can't find navigate path!", startPoint, endPoint); + return null; + } + + //鑾峰彇鍒嗘璺緞 + List<List<NavigateNode>> partList = this.getSectionPath(navigateNodes); + List<NavigateNode> firstList = partList.get(0); + + NavigateNode targetNode = null; + if(firstList.size() <= firstPathNumber){ + targetNode = firstList.get(firstList.size() - 1); + }else { + targetNode = firstList.get(firstPathNumber); + } + + String locNo = NavigatePositionConvert.nodeToLocNo(targetNode); + return locNo; + } + public String findTargetLocation(List<List<NavigateNode>> partList) { - List<NavigateNode> nodes = partList.get(partList.size() - 1); - NavigateNode targetNode = nodes.get(0); + NavigateNode targetNode = null; + for (int i = partList.size(); i > 0; i--) { + List<NavigateNode> nodes = partList.get(i - 1); + for (NavigateNode node : nodes) { + if (node.getNodeValue() == MapNodeType.MAIN_PATH.id) { + continue; + + } + targetNode = node; + break; + } + + if(targetNode != null){ + break; + } + } + String locNo = NavigatePositionConvert.nodeToLocNo(targetNode); return locNo; } -- Gitblit v1.9.1