// Route solving (works fine, route displays correctly)
let routeParameters = try await routeTask.makeDefaultParameters()
routeParameters.returnsDirections = true
routeParameters.returnsStops = true
routeParameters.directionsStyle = .campus
// Set stops and solve...
let routeResult = try await routeTask.solve(using: routeParameters)
// Rerouting setup
let reroutingParameters = ReroutingParameters(
routeTask: routeTask,
routeParameters: routeParameters
)
let routeTracker = RouteTracker(
routeResult: routeResult,
routeIndex: 0,
skipsCoincidentStops: true
)!
try await routeTracker.enableRerouting(using: reroutingParameters)
// Observation and tracking in a Task
Task {
for await trackingStatus in routeTracker.$trackingStatus {
guard let trackingStatus else { continue }
await self.updateProgress(using: trackingStatus) // This never triggers
}
for await location in locationModel.locations {
try await routeTracker?.track(location)
}
}