diff --git a/brouter-core/src/main/java/btools/router/OsmPath.java b/brouter-core/src/main/java/btools/router/OsmPath.java index 500600c..6250513 100644 --- a/brouter-core/src/main/java/btools/router/OsmPath.java +++ b/brouter-core/src/main/java/btools/router/OsmPath.java @@ -248,7 +248,7 @@ abstract class OsmPath implements OsmLinkHolder boolean isStartpoint = lon0 == -1 && lat0 == -1; // check turn restrictions (n detail mode (=final pass) no TR to not mess up voice hints) - if ( nsection == 0 && !isStartpoint ) + if ( nsection == 0 && rc.considerTurnRestrictions && !detailMode&& !isStartpoint ) { boolean hasAnyPositive = false; boolean hasPositive = false; diff --git a/brouter-core/src/main/java/btools/router/OsmTrack.java b/brouter-core/src/main/java/btools/router/OsmTrack.java index dfb9d5b..0611abb 100644 --- a/brouter-core/src/main/java/btools/router/OsmTrack.java +++ b/brouter-core/src/main/java/btools/router/OsmTrack.java @@ -421,14 +421,25 @@ public final class OsmTrack if ( turnInstructionMode == 2 ) // locus style { + float lastRteTime = 0.f; + for( VoiceHint hint: voiceHints.list ) { sb.append( " " ) .append( hint.selev == Short.MIN_VALUE ? "" : "" + (hint.selev / 4.) + "" ) .append( "" ).append( hint.getMessageString() ).append( "" ) - .append( "" ).append( "" + hint.distanceToNext ).append( "" ) - .append( "" ).append( "" + hint.getLocusAction() ).append( "" ) + .append( "" ).append( "" + hint.distanceToNext ).append( "" ); + float rteTime = hint.getTime(); + if ( rteTime != lastRteTime ) // add timing only if available + { + double t = rteTime - lastRteTime; + double speed = hint.distanceToNext / t; + sb.append( "" ).append( "" + t ).append( "" ) + .append( "" ).append( "" + speed ).append( "" ); + lastRteTime = rteTime; + } + sb.append( "" ).append( "" + hint.getLocusAction() ).append( "" ) .append( "\n" ); } } diff --git a/brouter-core/src/main/java/btools/router/VoiceHint.java b/brouter-core/src/main/java/btools/router/VoiceHint.java index 86888d5..d6b112d 100644 --- a/brouter-core/src/main/java/btools/router/VoiceHint.java +++ b/brouter-core/src/main/java/btools/router/VoiceHint.java @@ -36,6 +36,11 @@ public class VoiceHint double distanceToNext; int indexInTrack; + public float getTime() + { + return goodWay == null ? 0.f : goodWay.time; + } + float angle; boolean turnAngleConsumed; boolean needsRealTurn; diff --git a/brouter-server/src/main/java/btools/server/SuspectManager.java b/brouter-server/src/main/java/btools/server/SuspectManager.java index 59635f4..621fe0f 100644 --- a/brouter-server/src/main/java/btools/server/SuspectManager.java +++ b/brouter-server/src/main/java/btools/server/SuspectManager.java @@ -185,8 +185,17 @@ public class SuspectManager extends Thread double dlon = ( ilon - 180000000 ) / 1000000.; double dlat = ( ilat - 90000000 ) / 1000000.; + String profile = "car-eco"; + File configFile = new File( "configs/" + country + ".cfg" ); + if ( configFile.exists() ) + { + BufferedReader br = new BufferedReader( new FileReader( configFile ) ); + profile = br.readLine(); + br.close(); + } + String url1 = "http://brouter.de/brouter-web/#zoom=18&lat=" + dlat + "&lon=" + dlon - + "&layer=OpenStreetMap&lonlats=" + dlon + "," + dlat + "&profile=car-eco-de"; + + "&layer=OpenStreetMap&lonlats=" + dlon + "," + dlat + "&profile=" + profile; // String url1 = "http://localhost:8080/brouter-web/#map=18/" + dlat + "/" // + dlon + "/Mapsforge Tile Server&lonlats=" + dlon + "," + dlat;