diff --git a/brouter-core/src/main/java/btools/router/RoutingContext.java b/brouter-core/src/main/java/btools/router/RoutingContext.java index 8e03e96..045ac0c 100644 --- a/brouter-core/src/main/java/btools/router/RoutingContext.java +++ b/brouter-core/src/main/java/btools/router/RoutingContext.java @@ -77,6 +77,7 @@ public final class RoutingContext { public boolean correctMisplacedViaPoints; public double correctMisplacedViaPointsDistance; public boolean useDynamicDistance; + public int roundTripPoints; private void setModel(String className) { if (className == null) { @@ -171,6 +172,11 @@ public final class RoutingContext { useDynamicDistance = expctxGlobal.getVariableValue("use_dynamic_range", 0f) == 1f; + roundTripPoints = (int) expctxGlobal.getVariableValue("roundTripPoints", 5.f); + if (roundTripPoints < 3 || roundTripPoints > 20) { + roundTripPoints = 5; + } + boolean test = expctxGlobal.getVariableValue("check_start_way", 1f) == 1f; if (!test) freeNoWays(); diff --git a/brouter-core/src/main/java/btools/router/RoutingEngine.java b/brouter-core/src/main/java/btools/router/RoutingEngine.java index d90714c..11d6442 100644 --- a/brouter-core/src/main/java/btools/router/RoutingEngine.java +++ b/brouter-core/src/main/java/btools/router/RoutingEngine.java @@ -500,7 +500,7 @@ public class RoutingEngine extends Thread { waypoints.add(onn); } else { //buildPointsFromAngle(waypoints, direction, directionAdd, searchRadius, true); - buildPointsFromCircle(waypoints, direction, searchRadius, 5); + buildPointsFromCircle(waypoints, direction, searchRadius, routingContext.roundTripPoints); } routingContext.waypointCatchingRange = 1000;