From 678e42db726950b75ae5def84a0ee777e93848a7 Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Wed, 15 Dec 2021 22:13:35 -0600 Subject: WhirlyGlobe Maply test. Map shows completely black, same as with MapLibre GL we tested earlier --- androidApp/build.gradle.kts | 2 +- .../TrackerMap/android/map/MapFragment.kt | 39 +++++++++++++++++++--- .../TrackerMap/android/units/UnitsActivity.kt | 2 ++ 3 files changed, 38 insertions(+), 5 deletions(-) (limited to 'androidApp') diff --git a/androidApp/build.gradle.kts b/androidApp/build.gradle.kts index 6292a1e..87c47ad 100644 --- a/androidApp/build.gradle.kts +++ b/androidApp/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { implementation("com.google.android.material:material:1.4.0") implementation("androidx.appcompat:appcompat:1.4.0") implementation("androidx.constraintlayout:constraintlayout:2.1.2") - implementation("com.squareup.okhttp3:okhttp:3.14.2") + implementation("com.squareup.okhttp3:okhttp:4.9.1") implementation("com.github.Zhuinden:live-event:1.2.0") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0") implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.4.0") 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 2ffaa2c..f0c2404 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 @@ -5,25 +5,56 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.fragment.app.Fragment +import com.mousebird.maply.* import kotlinx.coroutines.DelicateCoroutinesApi import mx.trackermap.TrackerMap.android.databinding.MapFragmentBinding import mx.trackermap.TrackerMap.android.units.UnitsViewModel import org.koin.androidx.viewmodel.ext.android.viewModel +import java.io.File -class MapFragment: Fragment() { +@DelicateCoroutinesApi +class MapFragment: GlobeMapFragment() { private var _binding: MapFragmentBinding? = null private val binding get() = _binding!! private val unitsViewModel: UnitsViewModel by viewModel() + override fun chooseDisplayType(): MapDisplayType { + return MapDisplayType.Map + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = MapFragmentBinding.inflate(inflater, container, false) - return binding.root + super.onCreateView(inflater, container, savedInstanceState) + return baseControl.contentView!! + } + + override fun controlHasStarted() { + val cacheDirName = "stamen_watercolor6" + val cacheDir = File(activity!!.cacheDir, cacheDirName) + cacheDir.mkdir() + + val tileInfo = RemoteTileInfoNew("https://tile.openstreetmap.org/{z}/{x}/{y}.png", 0, 21) + tileInfo.cacheDir = cacheDir + + val params = SamplingParams() + params.coordSystem = SphericalMercatorCoordSystem() + params.coverPoles = true + params.edgeMatching = true + params.minZoom = tileInfo.minZoom + params.maxZoom = tileInfo.maxZoom + params.singleLevel = true + + val loader = QuadImageLoader(params, tileInfo, baseControl) + loader.setImageFormat(RenderController.ImageFormat.MaplyImageUShort565) + + val latitude = 23.191 * Math.PI / 180 + val longitude = -100.36 * Math.PI / 180 + val zoom = 2.0 + mapControl.animatePositionGeo(longitude, latitude, zoom, 1.0) } override fun onDestroyView() { diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt index 2be6da3..60218db 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt @@ -5,12 +5,14 @@ import android.util.Log import androidx.appcompat.app.AppCompatActivity import androidx.core.widget.doAfterTextChanged import androidx.fragment.app.commit +import kotlinx.coroutines.DelicateCoroutinesApi import mx.trackermap.TrackerMap.android.R import mx.trackermap.TrackerMap.android.databinding.UnitsActivityBinding import mx.trackermap.TrackerMap.android.devices.DevicesFragment import mx.trackermap.TrackerMap.android.map.MapFragment import org.koin.androidx.viewmodel.ext.android.viewModel +@DelicateCoroutinesApi class UnitsActivity : AppCompatActivity() { private var _binding: UnitsActivityBinding? = null -- cgit v1.2.3