Трафи c Маршрут в ЗДЕСЬ SDK - PullRequest
1 голос
/ 13 марта 2020

Я использую следующий код для создания маршрута с использованием Premium Android SDK:

RouteOptions ro = new RouteOptions();
ro.setTransportMode(RouteOptions.TransportMode.CAR);
ro.setRouteType(RouteOptions.Type.BALANCED);
ro.setRouteCount(1);


RoutePlan rp = new RoutePlan();
// start route on current position
rp.setRouteOptions(ro);
rp.addWaypoint(new RouteWaypoint(currentGeoCoordinate));
rp.addWaypoint(new RouteWaypoint(stopGeoCordinate));

DynamicPenalty dp = new DynamicPenalty();
dp.setTrafficPenaltyMode(TrafficPenaltyMode.OPTIMAL);
stopGeoCordinate = new GeoCoordinate(trip.getLatitude(), trip.getLongitude());


CoreRouter rm = new CoreRouter();
rm.setDynamicPenalty(dp);

rm.calculateRoute(rp, new CoreRouter.Listener() { ...

Использование Android Studio Network Profiler. Я видел этот единственный запрос в примерно 30 из тот же бэкэнд API вызывает следующий URL:

https://v154-105-30-8.route.hybrid.api.here.com/rt? .....

Это ожидаемое поведение для маршрутизации одного трафика c запрос приводит к 30 транзакциям, или я делаю что-то в корне неверное?

1 Ответ

0 голосов
/ 20 марта 2020

В качестве продолжения команда SDK признала, что в SDK 3.14 есть ошибка (и, возможно, ранее).

Когда NavigationManager установлен на DYNAMI C traffi c маршрутизация, если маршрут будет go немного отклонен от пути, он немедленно вызовет сервер для перенаправления. В примере, который я создал, путешествие длиной в 0,5 мили привело к 70 вызовам API маршрутизации сервера.

Команда SDK заявила, что это должно произойти только через 5 секунд, но не работает должным образом. 3.15 должен решить эту проблему.

Итак, если кто-то использует 3.14 (я не уверен насчет более ранних версий) с маршрутизацией NavigationManager и DYNAMI C, проверьте количество транзакций, поскольку оно может быть намного выше ожидаемого.

...