Я хочу реализовать в своем проекте опцию для рисования маршрута на карте, используя HERE maps api, я прочитал документацию и увидел несколько примеров, и если бы я реализовал все это глобально и pu sh stati c маршрут для расчета расстояния, подобного этому :
const platform = configPlatform();
const defaultLayers = configLayers();
var markers = [];
var map = new H.Map(
document.getElementById('mapContainer'),
defaultLayers.vector.normal.map,
{
zoom: 10,
}
);
var mapEvents = new H.mapevents.MapEvents(map);
var behavior = new H.mapevents.Behavior(mapEvents);
var icon = setCustomMarker();
const lineString = new H.geo.LineString();
var polyline;
var routingService = platform.getRoutingService();
var routingParameters = {
'mode': 'fastest;car',
'waypoint0': 'geo!50.1120423728813,8.68340740740811',
'waypoint1': 'geo!52.5309916298853,13.3846220493377',
'representation': 'display'
};
routingService.calculateRoute(routingParameters, success => {
console.log(success);
});
Работает нормально, но я хочу сделать все в функциях (инстанцированная платформа должна быть глобальной, и это нормально). Прежде всего, я хочу с помощью навигатора настроить центр карты (текущее положение пользователя), а затем по слушателю событий дать пользователю возможность добавлять маркеры на карту, и все это работает, но если я хочу получить следующие данные pu sh для службы маршрутизации и рассчитать маршрут между Маркеры и все расстояние Я получаю следующую ошибку:
Uncaught (в обещании) TypeError: c не является функцией в eval (eval at (maps js -core. js: 70) ),: 64: 238)
Даже если я просто вызываю метод routingService.calculateRoute () внутри eventlistener, я получаю ту же ошибку. Похоже, что-то в функции Calculate должно быть создано при загрузке карты времени, потому что все работает нормально, когда я вычисляю значение Route рядом с загрузкой карты, но если я использую эту функцию, я слушаю. Это не работает. У кого-то была идея, как сделать возможным запуск этого метода в слушателе (создание глобальной службы маршрутизации не помогает) ??