blob: fcde58d3827b7c9f1771b97a75e6335f7037e18c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
package mx.trackermap.TrackerMap.android.map
import mx.trackermap.TrackerMap.client.models.Position
import mx.trackermap.TrackerMap.client.models.Stop
import mx.trackermap.TrackerMap.client.models.UnitInformation
import mx.trackermap.TrackerMap.utils.MarkerType
object MarkerTransformations {
fun unitToMarker(unit: UnitInformation): MapFragment.Marker? {
if (unit.position == null || unit.position!!.latitude == null || unit.position!!.longitude == null) {
return null
}
return MapFragment.Marker(
unit.position!!.id!!,
unit.position!!.latitude!!,
unit.position!!.longitude!!,
categoryToMarkerType(unit.device.category ?: "")
)
}
fun positionToMarker(position: Position): MapFragment.Marker? {
if (position.latitude == null || position.longitude == null) {
return null
}
return MapFragment.Marker(
position.id!!,
position.latitude!!,
position.longitude!!
)
}
fun stopToMarker(stop: Stop): MapFragment.Marker? {
if (stop.lat == null || stop.lon == null) {
return null
}
return MapFragment.Marker(
stop.deviceId!!,
stop.lat!!,
stop.lon!!
)
}
private fun categoryToMarkerType(category: String): MarkerType {
return when (category.lowercase()) {
"animal" -> MarkerType.ANIMAL
"bicycle" -> MarkerType.BICYCLE
"boat" -> MarkerType.BOAT
"bus" -> MarkerType.BUS
"car" -> MarkerType.CAR
"crane" -> MarkerType.CRANE
"helicopter" -> MarkerType.HELICOPTER
"motorcycle" -> MarkerType.MOTORCYCLE
"offroad" -> MarkerType.OFFROAD
"person" -> MarkerType.PERSON
"pickup" -> MarkerType.PICKUP
"plane" -> MarkerType.PLANE
"scooter" -> MarkerType.SCOOTER
"ship" -> MarkerType.SHIP
"tractor" -> MarkerType.TRACTOR
"train" -> MarkerType.TRAIN
"tram" -> MarkerType.TRAM
"trolleybus" -> MarkerType.TROLLEYBUS
"truck" -> MarkerType.TRUCK
"van" -> MarkerType.VAN
else -> MarkerType.DEFAULT
}
}
}
|