Was it helpful?

Solution

The nokia.maps.routing.Manager (based on 7.2 Routing) doesn't support alternatives as Parameter. To pass this Parameter to the Routing, you need to use a JSONP call to the Backend Routing Server:

startRouting = function()
{
    var routeUrl = ["http://route.nlp.nokia.com/routing/7.2/calculateroute.json?",
                  "app_id=" + app_id + "&",
                  "app_code=" + app_code + "&",
                  "waypoint0=" + startLat + ","+ startLng + "&",
                  "waypoint1="+ destLat + "," + destLng + "&", 
                  "instructionformat=text" + "&",
                  "jsonAttributes=33" + "&",
                  "mode=fastest;car;traffic:disabled&",
                  "routeattributes=sh",
                  "&alternatives=2",
                  "&jsoncallback=routingcallback"].join("");

    script = document.createElement("script");
    script.src = routeUrl;
    document.body.appendChild(script);
}

var strokeColor = ["#7a24db", "#85db24","#8f0404", "#fdf700"];

routingcallback = function(data)
{
    var routes = data.response.route;
    for(var i = 0; i < routes.length; i++)
    {
        var coords = routes[i].shape;

        var shape = nokia.maps.geo.Shape.fromLatLngArray(coords, false);

        var curColor = strokeColor[i]; 
        if(routes.length == 1)
            curColor = strokeColor[3];

        var line = new nokia.maps.map.Polyline(shape, { pen: { strokeColor: curColor, lineWidth: 4 } });

        display.objects.add(line);
        display.zoomTo(line.getBoundingBox(), false, "default");
    }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top