Мы работаем с iOS Premium HereMaps SDK. Наш основной вопрос - как создать экземпляр объекта NMARoute
из довольно подробного файла GPX. Этот объект следует использовать для настраиваемой пошаговой навигации. На данный момент мы предпринимаем следующие шаги:
- Создайте массив из
NMAGeoCoordinates
объектов из файла GPX - Создайте массив
NMAWaypoint
s - Позвоните
[NMACoreRouter calculateRouteWithStops:]
К сожалению, мы сталкиваемся с несколькими ограничениями:
- Метод
[NMACoreRouter calculateRouteWithStops:]
ограничивает количество путевых точек. Хотя у нас есть файл GPX, который достаточно подробен, чтобы создать весь маршрут, мы должны выбрать точки маршрута и позволить сервису here снова вычислить маршрут. Этот процесс не гарантирует, что мы получим именно тот маршрут, который был в файле GPX. - NMAWaypoints вызывают голосовой вызов «Вы достигли своей остановки» во время пошаговой навигации каждый раз, когда достигается путевая точка. Мы знаем, что можно использовать
NMAViaWaypoint
в качестве типа, но это не подходит для нас, потому чтоNMAViaWaypoint
s будут отклонены во время процесса перенаправления, который может произойти во время навигации. Кроме того, остановки в пути вызовут перерыв в навигации, например. в отображаемых расстояниях. - Для некоторых точек GPS, расположенных в середине перекрестка, расчет маршрута HereMaps иногда выбирает другой маршрут, чем предполагалось. Это снова связано с тем, что HereMaps хочет рассчитать маршрут самостоятельно, несмотря на то, что у нас есть подробный файл GPX, содержащий маршрут.
На самом деле мы ищем лучший способ получить объект NMARoute
из файла GPX. К нашему удивлению, существует конечная точка REST., предоставленный HereMaps SDK для преобразования файла GPX в данные json, но, к сожалению, нет возможности передать эти данные в iOS SDK.