aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/map')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt24
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt12
2 files changed, 20 insertions, 16 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 6a80f95..06d3d97 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
@@ -61,12 +61,12 @@ class MapFragment : GlobeMapFragment() {
Log.d("MapFragment", "controlHasStarted")
if (tileInfo == null) {
+ val layer = MapLayer.defaultLayer
// Load default map layer
- val layer = resources.getStringArray(R.array.maps_streets_tile)
- val tmpInfo = RemoteTileInfoNew(layer[0], layer[1].toInt(), layer[2].toInt())
- tileInfo = tileInfoSetCacheDir(layer[0], tmpInfo)
+ val info = RemoteTileInfoNew(layer.url, layer.minZoom, layer.maxZoom)
+ tileInfo = tileInfoSetCacheDir(layer.url, info)
tileInfo?.let {
- setZoomLimits(layer[1].toInt(), layer[2].toInt())
+ setZoomLimits(layer.minZoom, layer.maxZoom)
}
}
@@ -84,7 +84,7 @@ class MapFragment : GlobeMapFragment() {
val latitude = 23.191 * Math.PI / 180
val longitude = -100.36 * Math.PI / 180
- mapControl.setPositionGeo(latitude, longitude, 0.4)
+ mapControl.setPositionGeo(longitude, latitude, 0.4)
}
override fun mapDidStopMoving(
@@ -352,13 +352,15 @@ class MapFragment : GlobeMapFragment() {
}
}
- fun updateTile(layer: MapLayer) {
+ fun updateLayer(layer: MapLayer.Type) {
mapControl?.addPostSurfaceRunnable {
- val tileInfo = RemoteTileInfoNew(layer.url, layer.minZoom, layer.maxZoom)
- this.tileInfo = tileInfoSetCacheDir(layer.url, tileInfo)
- this.tileInfo?.let {
- loader?.changeTileInfo(it)
- setZoomLimits(tileInfo.minZoom, tileInfo.maxZoom)
+ MapLayer.layers[layer]?.let {
+ val tileInfo = RemoteTileInfoNew(it.url, it.minZoom, it.maxZoom)
+ this.tileInfo = tileInfoSetCacheDir(it.url, tileInfo)
+ this.tileInfo?.let { t ->
+ loader?.changeTileInfo(t)
+ setZoomLimits(tileInfo.minZoom, tileInfo.maxZoom)
+ }
}
}
}
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
index e96945e..cb5edc3 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
@@ -15,6 +15,7 @@ import mx.trackermap.TrackerMap.android.shared.MarkerTransformations
import mx.trackermap.TrackerMap.android.shared.UnitRenderData
import mx.trackermap.TrackerMap.android.units.UnitFragment
import mx.trackermap.TrackerMap.android.units.UnitsViewModel
+import mx.trackermap.TrackerMap.client.models.MapLayer
import mx.trackermap.TrackerMap.client.models.UnitInformation
@DelicateCoroutinesApi
@@ -55,8 +56,8 @@ class UnitMapFragment(private val unitsViewModel: UnitsViewModel) : UnitFragment
unitsMapFragment = childFragmentManager.findFragmentById(R.id.unitsMap) as MapFragment
unitsMapFragment.markerCallback = unitsViewModel::selectUnitWith
- val layer = resources.getStringArray(R.array.maps_streets_tile)
- binding.attributionText.text = HtmlCompat.fromHtml(layer[3], 0)
+ val layer = MapLayer.defaultLayer
+ binding.attributionText.text = HtmlCompat.fromHtml(layer.attribution, 0)
}
private fun setupObservers() {
@@ -98,13 +99,14 @@ class UnitMapFragment(private val unitsViewModel: UnitsViewModel) : UnitFragment
}
}
- unitsViewModel.mapLayer.observe(viewLifecycleOwner) { layer ->
+ unitsViewModel.mapLayerType.observe(viewLifecycleOwner) { type ->
Log.d("UnitMapFragment", "Loading layer!")
- unitsMapFragment.updateTile(layer)
+ unitsMapFragment.updateLayer(type)
val selectedUnit = unitsViewModel.selectedUnit.value
selectedUnit?.let {
unitsMapFragment.focusOn(it.position!!.latitude!!, it.position!!.longitude!!)
}
+ val layer = MapLayer.layers[type]!!
binding.attributionText.text = HtmlCompat.fromHtml(layer.attribution, 0)
}
@@ -117,7 +119,7 @@ class UnitMapFragment(private val unitsViewModel: UnitsViewModel) : UnitFragment
Log.d("UnitMapFragment", "removeObservers()")
unitsViewModel.units.removeObservers(viewLifecycleOwner)
unitsViewModel.selectedUnit.removeObservers(viewLifecycleOwner)
- unitsViewModel.mapLayer.removeObservers(viewLifecycleOwner)
+ unitsViewModel.mapLayerType.removeObservers(viewLifecycleOwner)
unitsViewModel.geofences.removeObservers(viewLifecycleOwner)
}