Documentation to understand routing response

This is what’s returned under instructions from my android app
Instructions[(0,River Road,473.001372491525,37839),
(6,Fairfield Bridge,222.148,17770),
(-2,Victoria Street,368.125,29449),
(2,Abbotsford Street,96.732,7736),
(2,Dyer Street,203.403,16272),
(2,Edgecumbe Street,179.394003534166,14351),
(4,0.0,0)]

I think I understand the first figure is the sign = -7 = keep left
the second figure is meters to the next instruction?
the third time in milliseconds ?

The second instruction in this case is a roundabout (6) but if thats the case how do I tell the user which exit of the roundabout to take?
and what does the (4,0.0,0) represent at the end of the instructions

See the documentation that link to the API docs.

If it helps anyone else…

“resp” is the PathWrapper
Instructions start at 0

 // set up translation
TranslationMap SINGLETON = new TranslationMap().doImport();
        Translation esTR = SINGLETON.getWithFallBack(Locale.UK); //change to Locale.FRANCE to have instructions in french

Log.d("qw","points " + resp.getInstructions().get(0).getPoints()); // lat lon of all nodes leading up to instruction
        Log.d("qw","number of points " +resp.getInstructions().get(0).getLength()); // number of points
        Log.d("qw","sign " +resp.getInstructions().get(0).getSign()); // numeric representation of instruction eg 3= TURN_SHARP_RIGHT   6= USE_ROUNDABOUT
        Log.d("qw","street name " +resp.getInstructions().get(0).getName()); // OSM street name
        Log.d("qw","annotation " +resp.getInstructions().get(0).getAnnotation()); // A text describing the instruction in more detail, e.g. like surface of the way, warnings or involved costs, 0 if empty
        Log.d("qw","distance " +resp.getInstructions().get(0).getDistance()); // distance leading up to next instruction in meters
        Log.d("qw","extra " +resp.getInstructions().get(0).getExtraInfoJSON()); // sometimes contains heading and roundabout data eg {exit_number=1, exited=true, turn_angle=1.5} 
        Log.d("qw","compass " +resp.getInstructions().get(0).calcDirection(resp.getInstructions().get(0))); // human readable compass direction eg SW, SE, NE, NW
        Log.d("qw","translation " +resp.getInstructions().get(0).getTurnDescription(esTR));
        Log.d("qw","azimuth 0 : " +resp.getInstructions().get(0).calcAzimuth(resp.getInstructions().get(0))); // Direction vehicle should be heading after this instruction 0-359? degrees
        
        Overall route

        Log.d("qq","distance " + resp.getDistance()); // route distance in meters
        Log.d("qq","time " +resp.getTime()/1000); // estimated time in milliseconds / 1000 for seconds

        Log.d("qq","points " +resp.getPoints()); // all points on route
        Log.d("qq","Points order " + resp.getPointsOrder()); //unsure

        
        Log.d("qq","waypoints" + resp.getWaypoints()); // start and finish points (lat,lng) of entire route

        Log.d("qq","description" +resp.getDescription());
        Log.d("qq","fare" +resp.getFare());
        Log.d("qq","legs" +resp.getLegs());
        Log.d("qq","max speed" +resp.getPathDetails().get(MaxSpeed.KEY)); // index of osm max_speed eg  max speed[40.0 [0, 7], 50.0 [7, 23], 40.0 [23, 33]]  40km/h between points 0 to 7, 50km/h between points 7 to 23, 40km/h between 23 to 33
        }
1 Like
Powered by Discourse