Я выбрал свой собственный offRouteEngine. Я сохранил оригинал, и сослаться на него в своем. Код:
MapboxNavigation mbn = navigationView.retrieveMapboxNavigation();
orEngine = (OffRouteDetector)mbn.getOffRouteEngine();
mbn.setOffRouteEngine(new OffRouteDetector() {
@Override
public boolean isUserOffRoute(Location location, RouteProgress routeProgress, MapboxNavigationOptions options) {
Boolean isOffRoute = orEngine.isUserOffRoute(location, routeProgress, options);
// User will never be off-route
return isOffRoute;
}
public boolean isUserOffRouteWith(NavigationStatus status) {
return orEngine.isUserOffRouteWith(status) || status.getRouteState() == RouteState.INITIALIZED;
}
});
В этом коде я считаю состояние «ИНИЦИАЛИЗИРОВАННЫЙ» как вне маршрута. Поскольку я не перенаправляю, а вместо этого показываю сообщение, я думаю, что это должно сработать нормально.
Пожалуйста, дайте мне знать, если вы обнаружите какие-либо проблемы с этим методом, и спасибо за вашу помощь!
Это возвратит разряд как rownum
SELECT @rownum := @rownum + 1 rownum,
t.*
FROM (SELECT @rownum:=0) r,
(SELECT * FROM students ORDER BY gpa DESC) t;
Это возвратит разряд студентов, студенческий идентификатор и GPA.
set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, student_id, gpa
FROM `students` ORDER BY gpa DESC