| 501 | } |
| 502 | |
| 503 | double RoutingSession::GetCompletionPercent() const |
| 504 | { |
| 505 | CHECK_THREAD_CHECKER(m_threadChecker, ()); |
| 506 | ASSERT(m_route, ()); |
| 507 | |
| 508 | double const denominator = m_passedDistanceOnRouteMeters + m_route->GetTotalDistanceMeters(); |
| 509 | if (!m_route->IsValid() || denominator == 0.0) |
| 510 | return 0; |
| 511 | |
| 512 | double const percent = |
| 513 | 100.0 * (m_passedDistanceOnRouteMeters + m_route->GetCurrentDistanceFromBeginMeters()) / denominator; |
| 514 | if (percent - m_lastCompletionPercent > kCompletionPercentAccuracy) |
| 515 | m_lastCompletionPercent = percent; |
| 516 | return percent; |
| 517 | } |
| 518 | |
| 519 | void RoutingSession::PassCheckpoints() |
| 520 | { |