aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt
diff options
context:
space:
mode:
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.kt9
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,