void RealtimeAltRoutes_OnRouteResults (NavigateRouteRC rc, int num_res, const NavigateRouteResult *res){ int i; CalculatingAltRoutes = FALSE; if (num_res > MAX_ROUTES) num_res = MAX_ROUTES; if (rc != route_succeeded){ roadmap_main_remove_periodic(route_request_timeout); ssd_progress_msg_dialog_hide (); roadmap_log(ROADMAP_ERROR,"RealtimeAltRoutes_OnRouteResults failed rc=%d", rc ); return; } roadmap_log (ROADMAP_DEBUG,"RealtimeAltRoutes_OnRouteResults %d", num_res); altRoutesTrips.altRoutTrip[0].iNumRoutes = num_res; for (i = 0; i < num_res ; i++){ altRoutesTrips.altRoutTrip[0].pRouteResults[i] = *(res+i);//todo check } altRoutesTrips.altRoutTrip[0].iTripLenght = altRoutesTrips.altRoutTrip[0].pRouteResults[0].total_time; altRoutesTrips.altRoutTrip[0].iTripDistance = altRoutesTrips.altRoutTrip[0].pRouteResults[0].total_length; roadmap_alternative_routes_routes_dialog(gShowListFirst); roadmap_screen_refresh(); }
void RealtimeAltRoutes_OnRouteResults (NavigateRouteRC rc, int num_res, const NavigateRouteResult *res){ int i; if (num_res > MAX_ROUTES) num_res = MAX_ROUTES; altRoutesTrips.altRoutTrip[gTripId].iNumRoutes = num_res; if (rc != route_succeeded){ return; } for (i = 0; i < num_res ; i++){ altRoutesTrips.altRoutTrip[gTripId].pRouteResults[i] = *(res+i);//todo check } roadmap_alternative_routes_routes_dialog(); roadmap_screen_refresh(); }