Как декодировать полилинию из API маршрутизации 8?

#abap #geo

Вопрос:

В ABAP нам нужно получить подробный маршрут из HERE API https://router.hereapi.com/v8/routes?transportMode=caramp;origin=21.11336,39.21516amp;destination=21.52779,39.25381amp;return=polylineamp;app_id={APPID}amp;apiKey={APIKEY} .

Этот API возвращает полилинию, которую нам нужно декодировать, чтобы получить геокординаты. Мы попытались расшифровать, используя алгоритм, приведенный в https://github.com/heremaps/flexible-polyline, но он не предоставляет правильных координат.

Могу ли я получить точный алгоритм, который ЗДЕСЬ используется для кодирования полилинии, чтобы декодировать полилинию в ABAP?

Комментарии:

1. Что именно вы имеете в виду под «не предоставляет правильные координаты»? Можете ли вы показать нам 1. пример полилинии, 2. какую вы ожидаете получить от нее координату, 3. ваш код для ее декодирования и 4. какой результат вы получите?

2. И нет, я не собираюсь получать API-ключ для этой службы только для того, чтобы ответить на ваш вопрос.

3. Привет, Филипп, 1. Полилиния, возвращенная из вышеприведенного API, слишком длинная, чтобы вставлять ее сюда, можете ли вы запустить то же самое в postman? Используйте данный API » router.hereapi.com/v8/… » . 2. Я хочу,чтобы все географические координаты между источником: 21.11336,39.21516 и пунктом назначения: 21.52779, 39.25381, эти координаты находятся в Саудовской Аравии, поэтому географические координаты между источником и пунктом назначения должны быть в самой Саудовской Аравии.

4. Я не уверен, что вам разрешено просто публиковать свой ключ API в Интернете. Почему бы не попробовать более простой тестовый пример, прежде чем переходить к такому сложному? Также, пожалуйста, ответьте на мои запросы 3 и 4.

5. 3. Мы используем код в JS для декодирования полилинии, а затем вызываем процессор JS для выполнения кода JS в abap. Код слишком длинный, чтобы вставлять его сюда, но вы можете проверить ниже утилиту декодирования, предоставляемую Google, так как карты Google и карты Here используют один и тот же алгоритм. developers.google.com/maps/documentation/utilities/… 4. Полилиния, которую вы получите с помощью API, который я предоставил вместе с AppID и apiKey, вставьте эту полилинию в утилиту Google polyline и результат, который она дает, тот же результат, который мы получаем в abap.