Здесь Maps Routing API V8 - несколько путевых точек - PullRequest
1 голос
/ 29 мая 2020

Я новичок в Here Maps Routing API v8.

Я пробовал приведенный здесь пример: https://developer.here.com/documentation/maps/3.1.15.1/dev_guide/topics/routing.html

Я использовал параметры routingParameters как показано ниже:

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

Теперь я хочу добавить несколько путевых точек в routingParameters, и я попробовал следующий формат для того же:

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

Но запрос не работает, когда я использую указанную выше строку в параметрах маршрутизации.

Не могли бы вы предложить правильный формат запроса с несколькими путевыми точками?

1 Ответ

1 голос
/ 30 мая 2020

Способ, которым вы пытались передать массив в параметр via, должен быть правильным способом передачи нескольких путевых точек, однако он пока не поддерживается. Routing v8 - это недавний API, у меня была такая же проблема.

А пока я бы посоветовал напрямую вызвать REST API Routing v8 и построить ломаную линию из ответа.

In Чтобы передать несколько путевых точек в REST API Routing v8, вам нужно добавить столько раз via={lat},{lng}, сколько у вас есть путевых точек, как показано ниже:

# Note: line breaks and spaces are for readability only (they need to be removed)

https://router.hereapi.com/v8/routes?
  origin=52.550464,13.384223
  &transportMode=car
  &destination=52.477545,13.447395
  &via=52.529791,13.401389
  &via=52.513079,13.424392
  &via=52.487581,13.425079
  &apikey={YOUR_API_KEY}

Примечание: там это одна способ передать несколько via API JS, но это некрасиво и может сломаться в будущих выпусках, поэтому я бы не советовал это :) Для записи:

var routingParameters = {
  'routingMode': 'fast',
  'transportMode': 'car',
  'origin': '50.1120,8.6834',
  'destination': '52.5309,13.3846',
  'via': '50.1234,8.7654&via=51.2234,9.1123',
  'return': 'polyline'
};
...