diff --git a/brouter-core/src/main/java/btools/router/OsmTrack.java b/brouter-core/src/main/java/btools/router/OsmTrack.java index 62259f5..724ab59 100644 --- a/brouter-core/src/main/java/btools/router/OsmTrack.java +++ b/brouter-core/src/main/java/btools/router/OsmTrack.java @@ -536,14 +536,24 @@ public final class OsmTrack if ( exportWaypoints ) { - for( int i=1; i<=matchedWaypoints.size() - 2; i++ ) + for( int i=0; i<=matchedWaypoints.size() - 1; i++ ) + { + sb.append( " \n" ) + .append( " " ).append( matchedWaypoints.get(i).name ).append( "\n" ); + if(i == 0) { - sb.append( " \n" ) - .append( " " ).append( matchedWaypoints.get(i).name ).append( "\n" ) - .append( " via\n" ) - .append( " \n" ); + sb.append( " from\n" ); } + else if (i == matchedWaypoints.size() - 1) + { + sb.append( " to\n" ); + } + else { + sb.append( " via\n" ); + } + sb.append( " \n" ); + } } sb.append( " \n" ); sb.append( " " ).append( name ).append( "\n" ); @@ -731,13 +741,24 @@ public final class OsmTrack if ( exportWaypoints ) { sb.append( " },\n" ); - for( int i=1; i<=matchedWaypoints.size() - 2; i++ ) + for( int i=0; i<=matchedWaypoints.size() - 1; i++ ) { sb.append( " {\n" ); sb.append( " \"type\": \"Feature\",\n" ); sb.append( " \"properties\": {\n" ); sb.append( " \"name\": \"" + matchedWaypoints.get(i).name + "\",\n" ); - sb.append( " \"type\": \"via\"\n" ); + if(i == 0) + { + sb.append( " \"type\": \"from\"\n" ); + } + else if (i == matchedWaypoints.size() - 1) + { + sb.append( " \"type\": \"to\"\n" ); + } + else + sb.append( " \"type\": \"via\"\n" ); + { + } sb.append( " },\n" ); sb.append( " \"geometry\": {\n" ); sb.append( " \"type\": \"Point\",\n" ); @@ -746,7 +767,12 @@ public final class OsmTrack sb.append( " " + formatILat(matchedWaypoints.get(i).waypoint.ilat) + "\n" ); sb.append( " ]\n" ); sb.append( " }\n" ); - sb.append( " }\n" ); + if (i < matchedWaypoints.size() - 1) { + sb.append( " },\n" ); + } + else { + sb.append( " }\n" ); + } } } else {