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 {