diff options
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 | 42 |
1 files changed, 24 insertions, 18 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..17fc9d4 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 @@ -1,6 +1,7 @@ package mx.trackermap.TrackerMap.android.map import android.graphics.Bitmap +import android.graphics.Color import android.graphics.Typeface import android.os.Bundle import android.util.Log @@ -48,6 +49,11 @@ class MapFragment : GlobeMapFragment() { return MapDisplayType.Map } + override fun preControlCreated() { + super.preControlCreated() + mapSettings.clearColor = Color.WHITE + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -61,12 +67,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 +90,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( @@ -237,9 +243,11 @@ class MapFragment : GlobeMapFragment() { mbr.expandByFraction(0.1) mapControl?.addPostSurfaceRunnable { - val zoom = mapControl.findHeightToViewBounds(mbr, mbr.middle()) - .coerceAtLeast(mapControl.zoomLimitMin) - mapControl.setPositionGeo(mbr.middle(), zoom) + mapControl?.let { + val zoom = it.findHeightToViewBounds(mbr, mbr.middle()) + .coerceAtLeast(mapControl.zoomLimitMin) + it.setPositionGeo(mbr.middle(), zoom) + } } } } @@ -328,10 +336,7 @@ class MapFragment : GlobeMapFragment() { val lat = latitude * Math.PI / 180 val lon = longitude * Math.PI / 180 // Ensure height is equal or higher than bottom limit - Log.d("MapFragment", "Target: %7.7f".format(height)) - Log.d("MapFragment", "Min: %7.7f".format(mapControl.zoomLimitMin)) val z = height.coerceAtLeast(mapControl.zoomLimitMin) - Log.d("MapFragment", "Final: %7.7f".format(z)) if (animated) { mapControl.animatePositionGeo(lon, lat, z, 0.2) } else { @@ -346,19 +351,20 @@ class MapFragment : GlobeMapFragment() { val cacheDirMap = File(it.cacheDir, cacheDirName) cacheDirMap.mkdir() Log.d("MapFragment", "Cache dir for $url = ${cacheDirMap.absolutePath}") - (tileInfo as? RemoteTileInfoNew)?.cacheDir = cacheDirMap tileInfo } } - 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) + } } } } |