From 9617b69f3f64fad2bb72e6af7c3474e016ad4102 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Tue, 4 Aug 2020 13:39:12 +0100 Subject: [PATCH] Ground station position overlay revised --- .../look4sat/ui/fragments/MapOsmFragment.kt | 19 +++++++------------ app/src/main/res/drawable/ic_map_pos.xml | 10 ++++++++++ 2 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 app/src/main/res/drawable/ic_map_pos.xml diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/fragments/MapOsmFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/fragments/MapOsmFragment.kt index 24450c1f..930475be 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/fragments/MapOsmFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/fragments/MapOsmFragment.kt @@ -7,7 +7,6 @@ import android.graphics.Paint import android.os.Bundle import android.util.Log import android.view.View -import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider @@ -129,7 +128,7 @@ class MapOsmFragment : Fragment(R.layout.fragment_map_osm) { viewModel.getGSP().observe(viewLifecycleOwner, Observer { stationPosition -> when (stationPosition) { is Result.Success -> { - setUserLocation(stationPosition.data) + setupPosOverlay(stationPosition.data) } } }) @@ -144,19 +143,15 @@ class MapOsmFragment : Fragment(R.layout.fragment_map_osm) { }) } - private fun setUserLocation(position: GroundStationPosition) { - val startPoint = GeoPoint(position.latitude, position.longitude) - val positionMarker = Marker(binding.mapView).apply { - this.position = startPoint - textLabelBackgroundColor = Color.TRANSPARENT - textLabelForegroundColor = ContextCompat.getColor(mainActivity, R.color.themeAccent) - textLabelFontSize = 24 - setTextIcon("GSP") + private fun setupPosOverlay(gsp: GroundStationPosition) { + Marker(binding.mapView).apply { setInfoWindow(null) setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM) + icon = resources.getDrawable(R.drawable.ic_map_pos, mainActivity.theme) + position = GeoPoint(gsp.latitude, gsp.longitude) + binding.mapView.overlays[0] = this + binding.mapView.invalidate() } - binding.mapView.overlays[0] = positionMarker - binding.mapView.invalidate() } private fun setupSatOverlay(passList: List) { diff --git a/app/src/main/res/drawable/ic_map_pos.xml b/app/src/main/res/drawable/ic_map_pos.xml new file mode 100644 index 00000000..f6d41062 --- /dev/null +++ b/app/src/main/res/drawable/ic_map_pos.xml @@ -0,0 +1,10 @@ + + +