diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-01-17 15:59:22 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-01-17 15:59:22 -0600 |
commit | 1b1480e0fad512aa0c01d0b33865b818625cf420 (patch) | |
tree | f16dabbb765f3ed87ed1eff3a69eab19f0b14692 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt | |
parent | 2f64c3904216279a62afaa9aefbd1e49f88d3cc4 (diff) | |
parent | 07d184c408aba980f331ecaa3e4baef80b6ce82c (diff) | |
download | etbsa-trackermap-mobile-1b1480e0fad512aa0c01d0b33865b818625cf420.tar.gz etbsa-trackermap-mobile-1b1480e0fad512aa0c01d0b33865b818625cf420.tar.bz2 etbsa-trackermap-mobile-1b1480e0fad512aa0c01d0b33865b818625cf420.zip |
Merge branch 'main' of https://git.sr.ht/~avalos/trackermap-mobile
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt')
-rw-r--r-- | androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt index 17fc9d4..1ba8fd6 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt @@ -24,6 +24,7 @@ import mx.trackermap.TrackerMap.client.models.MapLayer import mx.trackermap.TrackerMap.utils.MapCalculus import mx.trackermap.TrackerMap.utils.MarkerType +typealias SetupCallback = () -> Unit typealias MarkerCallback = (Int?) -> Unit class MapFragment : GlobeMapFragment() { @@ -38,6 +39,8 @@ class MapFragment : GlobeMapFragment() { val type: MarkerType = MarkerType.DEFAULT ) + var hasStarted: Boolean = false + val setupCallbacks = mutableListOf<SetupCallback>() var markerCallback: MarkerCallback? = null private val objects = mutableListOf<ComponentObject>() @@ -65,6 +68,8 @@ class MapFragment : GlobeMapFragment() { override fun controlHasStarted() { Log.d("MapFragment", "controlHasStarted") + hasStarted = true + setupCallbacks.forEach { it() } if (tileInfo == null) { val layer = MapLayer.defaultLayer @@ -127,6 +132,10 @@ class MapFragment : GlobeMapFragment() { } private fun clear(geofences: Boolean = false) { + if (mapControl == null) { + return + } + if (geofences) { mapControl.removeObjects( geofenceObjects, |