FindStep Performance
This commit is contained in:
@@ -116,7 +116,7 @@ data class Route(
|
||||
val points = mutableListOf<Point>()
|
||||
for ((index,loc) in waypoints.withIndex()) {
|
||||
if (index >= wayPointIndex && points.size < 20) {
|
||||
val point = Point.fromLngLat(loc[0], loc[1])
|
||||
val point = Point.fromLngLat(loc.longitude, loc.latitude)
|
||||
points.add(point)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ class OsrmRoute {
|
||||
bearingBefore = step.maneuver.bearingBefore,
|
||||
bearingAfter = step.maneuver.bearingAfter,
|
||||
type = convertType(step.maneuver),
|
||||
waypoints = points,
|
||||
waypoints = points.map { location(it[0], it[1]) },
|
||||
exit = step.maneuver.exit,
|
||||
location = location(
|
||||
step.maneuver.location[0],
|
||||
|
||||
@@ -58,7 +58,7 @@ class Overpass {
|
||||
|out body geom;
|
||||
""".trimMargin()
|
||||
|
||||
Log.d("OverpassApi", "Overpass Query: $searchQuery")
|
||||
//Log.d("OverpassApi", "Overpass Query: $searchQuery")
|
||||
val connection = (URL(overpassUrl).openConnection() as HttpURLConnection).apply {
|
||||
requestMethod = "POST"
|
||||
setRequestProperty("Accept", "application/json")
|
||||
|
||||
@@ -6,7 +6,7 @@ data class Maneuver(
|
||||
val bearingBefore: Int = 0,
|
||||
val bearingAfter: Int = 0,
|
||||
val type: Int = 0,
|
||||
val waypoints: List<List<Double>>,
|
||||
val waypoints: List<Location>,
|
||||
val location: Location,
|
||||
val exit: Int = 0,
|
||||
val street: String = "",
|
||||
|
||||
@@ -21,7 +21,7 @@ const val tomtomTrafficUrl = "https://api.tomtom.com/traffic/services/5/incident
|
||||
private const val tomtomFields =
|
||||
"{incidents{type,geometry{type,coordinates},properties{iconCategory,events{description}}}}"
|
||||
|
||||
val useLocal = false // BuildConfig.DEBUG
|
||||
val useLocal = BuildConfig.DEBUG
|
||||
|
||||
val useLocalTraffic = BuildConfig.DEBUG
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ class TomTomRoute {
|
||||
waypoints = points.subList(
|
||||
lastPointIndex,
|
||||
instruction.pointIndex + 1,
|
||||
),
|
||||
).map { location(it[0], it[1]) },
|
||||
exit = exitNumber(instruction),
|
||||
location = location(
|
||||
instruction.point.longitude, instruction.point.latitude
|
||||
|
||||
@@ -25,7 +25,7 @@ class ValhallaRoute {
|
||||
bearingAfter = it.bearingAfter,
|
||||
//type = it.type,
|
||||
type = convertType(it),
|
||||
waypoints =waypoints.subList(it.beginShapeIndex, it.endShapeIndex+1),
|
||||
waypoints = waypoints.subList(it.beginShapeIndex, it.endShapeIndex + 1).map { location(it[0], it[1]) },
|
||||
// TODO: calculate from ShapeIndex !
|
||||
location = location(0.0, 0.0),
|
||||
leftDistance = emptyList()
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.kouros.navigation.data.ApplicationConfig
|
||||
import com.kouros.navigation.data.Constants.MAXIMUM_LOCATION_DISTANCE
|
||||
import com.kouros.navigation.data.Constants.NEAREST_LOCATION_DISTANCE
|
||||
import com.kouros.navigation.data.Constants.SPEED_UPDATE_DISTANCE
|
||||
import com.kouros.navigation.data.Constants.TAG
|
||||
import com.kouros.navigation.utils.location
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.math.absoluteValue
|
||||
@@ -24,20 +25,20 @@ class RouteCalculator(var routeModel: RouteModel) {
|
||||
if (index >= routeModel.navState.route.currentStepIndex) {
|
||||
for ((wayIndex, waypoint) in step.maneuver.waypoints.withIndex()) {
|
||||
if (wayIndex >= step.waypointIndex) {
|
||||
distance = location.distanceTo(location(waypoint[0], waypoint[1]))
|
||||
distance = location.distanceTo(waypoint)
|
||||
if (distance < nearestDistance) {
|
||||
nearestDistance = distance
|
||||
routeModel.navState.route.currentStepIndex = step.index
|
||||
step.waypointIndex = wayIndex
|
||||
step.wayPointLocation = location(waypoint[0], waypoint[1])
|
||||
step.wayPointLocation = waypoint
|
||||
}
|
||||
}
|
||||
if (nearestDistance < NEAREST_LOCATION_DISTANCE && distance > NEAREST_LOCATION_DISTANCE * 10) {
|
||||
if (nearestDistance < NEAREST_LOCATION_DISTANCE && distance > NEAREST_LOCATION_DISTANCE * 5) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nearestDistance < NEAREST_LOCATION_DISTANCE && distance > NEAREST_LOCATION_DISTANCE * 10) {
|
||||
if (nearestDistance < NEAREST_LOCATION_DISTANCE && distance > NEAREST_LOCATION_DISTANCE * 5) {
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -78,7 +79,7 @@ class RouteCalculator(var routeModel: RouteModel) {
|
||||
var leftDistance = 0F
|
||||
if (step.waypointIndex < step.maneuver.waypoints.size -1) {
|
||||
leftDistance = step.maneuver.leftDistance[step.waypointIndex]
|
||||
val waypointLocation = location(step.maneuver.waypoints[step.waypointIndex][0], step.maneuver.waypoints[step.waypointIndex][1])
|
||||
val waypointLocation = step.maneuver.waypoints[step.waypointIndex]
|
||||
if (routeModel.navState.lastLocation.latitude != 0.0) {
|
||||
val locationDistance = waypointLocation.distanceTo(routeModel.navState.lastLocation)
|
||||
leftDistance -= locationDistance
|
||||
|
||||
@@ -66,11 +66,11 @@
|
||||
<string name="general">Allgemein</string>
|
||||
<string name="traffic">Verkehr anzeigen</string>
|
||||
<string name="trip_suggestion">Fahrten-Vorschläge</string>
|
||||
<string name="drive_settings">Drive settings</string>
|
||||
<string name="car_settings">Car settings</string>
|
||||
<string name="combustion">Combustion</string>
|
||||
<string name="electric">Electric</string>
|
||||
<string name="engine_type">Engine type</string>
|
||||
<string name="alternative_routes">Alternative routes</string>
|
||||
<string name="wait">Wait</string>
|
||||
<string name="drive_settings">Fahr-Einstellungen</string>
|
||||
<string name="car_settings">Fahrzeug-Einstellungen</string>
|
||||
<string name="combustion">Verbrenner</string>
|
||||
<string name="electric">Elektro</string>
|
||||
<string name="engine_type">Motortyp</string>
|
||||
<string name="alternative_routes">Alternative Routen</string>
|
||||
<string name="wait">Warten</string>
|
||||
</resources>
|
||||
|
||||
@@ -50,11 +50,11 @@
|
||||
<string name="general">Γενικά</string>
|
||||
<string name="traffic">Εμφάνιση κίνησης</string>
|
||||
<string name="trip_suggestion">Προτάσεις διαδρομής</string>
|
||||
<string name="drive_settings">Drive settings</string>
|
||||
<string name="car_settings">Car settings</string>
|
||||
<string name="combustion">Combustion</string>
|
||||
<string name="electric">Electric</string>
|
||||
<string name="engine_type">Engine type</string>
|
||||
<string name="alternative_routes">Alternative routes</string>
|
||||
<string name="wait">Wait</string>
|
||||
<string name="drive_settings">Ρυθμίσεις οδήγησης</string>
|
||||
<string name="car_settings">Ρυθμίσεις αυτοκινήτου</string>
|
||||
<string name="combustion">Κινητήρας εσωτερικής καύσης</string>
|
||||
<string name="electric">Ηλεκτρικό</string>
|
||||
<string name="engine_type">Τύπος κινητήρα</string>
|
||||
<string name="alternative_routes">Εναλλακτικές διαδρομές</string>
|
||||
<string name="wait">Περιμένετε</string>
|
||||
</resources>
|
||||
|
||||
@@ -50,11 +50,11 @@
|
||||
<string name="general">Ogólne</string>
|
||||
<string name="traffic">Pokaż natężenie ruchu</string>
|
||||
<string name="trip_suggestion">Sugestie dotyczące podróży</string>
|
||||
<string name="drive_settings">Drive settings</string>
|
||||
<string name="car_settings">Car settings</string>
|
||||
<string name="combustion">Combustion</string>
|
||||
<string name="electric">Electric</string>
|
||||
<string name="engine_type">Engine type</string>
|
||||
<string name="alternative_routes">Alternative routes</string>
|
||||
<string name="wait">Wait</string>
|
||||
<string name="drive_settings">Ustawienia jazdy</string>
|
||||
<string name="car_settings">Ustawienia samochodu</string>
|
||||
<string name="combustion">Spalinowy</string>
|
||||
<string name="electric">Elektryczny</string>
|
||||
<string name="engine_type">Typ silnika</string>
|
||||
<string name="alternative_routes">Alternatywne trasy</string>
|
||||
<string name="wait">Czekaj</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user