fixed bug 95

This commit is contained in:
unknown 2014-07-03 12:35:11 +03:00
parent a5e87ebd43
commit e1177cf3ce
2 changed files with 53 additions and 50 deletions

View file

@ -213,7 +213,11 @@ public class RoutePlannerFrontEnd {
private List<RouteSegmentResult> searchRoute(final RoutingContext ctx, List<RouteSegment> points, PrecalculatedRouteDirection routeDirection) private List<RouteSegmentResult> searchRoute(final RoutingContext ctx, List<RouteSegment> points, PrecalculatedRouteDirection routeDirection)
throws IOException, InterruptedException { throws IOException, InterruptedException {
if(points.size() > 2) { if (points.size() <= 2) {
ctx.previouslyCalculatedRoute = null;
return searchRoute(ctx, points.get(0), points.get(1), routeDirection);
}
ArrayList<RouteSegmentResult> firstPartRecalculatedRoute = null; ArrayList<RouteSegmentResult> firstPartRecalculatedRoute = null;
ArrayList<RouteSegmentResult> restPartRecalculatedRoute = null; ArrayList<RouteSegmentResult> restPartRecalculatedRoute = null;
if (ctx.previouslyCalculatedRoute != null) { if (ctx.previouslyCalculatedRoute != null) {
@ -240,7 +244,7 @@ public class RoutePlannerFrontEnd {
for (int i = 0; i < points.size() - 1; i++) { for (int i = 0; i < points.size() - 1; i++) {
RoutingContext local = new RoutingContext(ctx); RoutingContext local = new RoutingContext(ctx);
if (i == 0) { if (i == 0) {
local.previouslyCalculatedRoute = firstPartRecalculatedRoute; //local.previouslyCalculatedRoute = firstPartRecalculatedRoute;
} }
local.visitor = ctx.visitor; local.visitor = ctx.visitor;
local.calculationProgress = ctx.calculationProgress; local.calculationProgress = ctx.calculationProgress;
@ -265,8 +269,7 @@ public class RoutePlannerFrontEnd {
} }
ctx.unloadAllData(); ctx.unloadAllData();
return results; return results;
}
return searchRoute(ctx, points.get(0), points.get(1), routeDirection);
} }
@SuppressWarnings("static-access") @SuppressWarnings("static-access")

View file

@ -670,7 +670,7 @@ public class RouteProvider {
ctx.calculationProgress = params.calculationProgress; ctx.calculationProgress = params.calculationProgress;
if(params.previousToRecalculate != null) { if(params.previousToRecalculate != null) {
// not used any more // not used any more
// ctx.previouslyCalculatedRoute = params.previousToRecalculate.getOriginalRoute(); ctx.previouslyCalculatedRoute = params.previousToRecalculate.getOriginalRoute();
} }
LatLon st = new LatLon(params.start.getLatitude(), params.start.getLongitude()); LatLon st = new LatLon(params.start.getLatitude(), params.start.getLongitude());
LatLon en = new LatLon(params.end.getLatitude(), params.end.getLongitude()); LatLon en = new LatLon(params.end.getLatitude(), params.end.getLongitude());