DXB-DEV
DXB-DEV

Reputation: 579

Here Maps Routing API V8 - mutiple waypoints

I am very new to the Here Maps Routing API v8.

I have tried the example provided here: https://developer.here.com/documentation/maps/3.1.15.1/dev_guide/topics/routing.html

I have used the routingParameters as shown below:

var routingParameters = {
  'routingMode': 'fast',
  'transportMode': 'car',
  'origin': '50.1120,8.6834',
  'destination': '52.5309,13.3846',
  'return': 'polyline'
};

Now I want to add multiple waypoints in the routingParameters and I tried the below format for the same:

'via' : ['50.1234,8.7654', '51.2234,9.1123']

But the request is failing when I use the above line in the routingParameters.

Can you please suggest the correct format of the request with multiple waypoints ?

Upvotes: 5

Views: 5388

Answers (2)

Michel
Michel

Reputation: 28239

Check the version of the HERE Maps JS API you are using. This is supported starting from version 3.1.19.0.

So the way to calculate a route with multiple waypoints would be:

// departure point (origin)
var start = '52.550464,13.384223';

// collection of waypoints
var waypoints = [
  '52.529791,13.401389'
  '52.513079,13.424392'
  '52.487581,13.425079'
];

// end point (destination)
var end = '52.477545,13.447395'

// routing parameters
var routingParameters = {
  'origin': start,
  'destination': end,
  'via': new H.service.Url.MultiValueQueryParameter( waypoints ),

  'routingMode': 'fast',
  'transportMode': 'car',

  'return': 'polyline'
};

// Get an instance of the routing service version 8:
var router = platform.getRoutingService(null, 8);

// Call `calculateRoute` with the routing parameters,
// the success callback and an error callback function
// The implementation of the two callback functions is left out for brevity
// see documentation link below for callback examples
router.calculateRoute(routingParameters, onResultCallback, onErrorCallback)

Calculate routes with HERE Maps JS API: documentation

Upvotes: 10

sunix
sunix

Reputation: 146

In JS, the correct way to add multiple waypoints is with H.service.Url.MultiValueQueryParameter:

var routingParameters = {
  'routingMode': 'fast',
  'transportMode': 'car',
  'origin': '50.1120,8.6834',
  'via': new H.service.Url.MultiValueQueryParameter(['50.1234,8.7654', '51.2234,9.1123']);
  'destination': '52.5309,13.3846',
  'return': 'polyline'
};

For more information check documentation at https://developer.here.com/documentation/maps/3.1.19.2/api_reference/H.service.Url.MultiValueQueryParameter.html

Upvotes: 6

Related Questions