mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-04 11:37:22 +00:00
Added textViews to the WorldMap to display current satellite position and range
This commit is contained in:
1 parent
6dff3d5510
commit
96939794b5
7 files changed
+79
-10
No files matched your search
@@ -26,6 +26,7 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.fragment.app.Fragment
|
||||
@@ -49,6 +50,9 @@ class MapViewFragment : Fragment() {
|
||||
private lateinit var mapFrame: FrameLayout
|
||||
private lateinit var mapFab: FloatingActionButton
|
||||
private lateinit var mapView: MapView
|
||||
private lateinit var mapLat: TextView
|
||||
private lateinit var mapLon: TextView
|
||||
private lateinit var mapRng: TextView
|
||||
private lateinit var predictor: PassPredictor
|
||||
private lateinit var selectedSat: TLE
|
||||
private lateinit var gsp: GroundStationPosition
|
||||
@@ -79,6 +83,9 @@ class MapViewFragment : Fragment() {
|
||||
private fun findViews(view: View) {
|
||||
mapFrame = view.findViewById(R.id.map_frame)
|
||||
mapFab = view.findViewById(R.id.map_fab)
|
||||
mapLat = view.findViewById(R.id.map_lat)
|
||||
mapLon = view.findViewById(R.id.map_lon)
|
||||
mapRng = view.findViewById(R.id.map_rng)
|
||||
}
|
||||
|
||||
private fun setupComponents() {
|
||||
@@ -170,6 +177,7 @@ class MapViewFragment : Fragment() {
|
||||
val currentTime = getDateFor(System.currentTimeMillis())
|
||||
val orbitalPeriod = (24 * 60 / selectedSat.meanmo).toInt()
|
||||
val positions = predictor.getPositions(currentTime, 60, 0, orbitalPeriod * 3)
|
||||
setTextViewsToSelectedSatPos(positions[0])
|
||||
drawGroundTrack(canvas, degLon, degLat, positions)
|
||||
satPassList.forEach {
|
||||
drawSat(canvas, degLon, degLat, it.tle, it.predictor, currentTime)
|
||||
@@ -190,6 +198,18 @@ class MapViewFragment : Fragment() {
|
||||
)
|
||||
}
|
||||
|
||||
private fun setTextViewsToSelectedSatPos(position: SatPos) {
|
||||
var lon = rad2Deg(position.longitude).toFloat()
|
||||
val lat = rad2Deg(position.latitude).toFloat()
|
||||
val rng = position.range
|
||||
|
||||
if (lon > 180f) lon -= 360f
|
||||
|
||||
mapLat.text = String.format(context.getString(R.string.pattern_value_lat), lat)
|
||||
mapLon.text = String.format(context.getString(R.string.pattern_value_lon), lon)
|
||||
mapRng.text = String.format(context.getString(R.string.pattern_value_rng), rng)
|
||||
}
|
||||
|
||||
private fun drawGroundTrack(
|
||||
canvas: Canvas,
|
||||
degLon: Float,
|
||||
|
||||
@@ -170,17 +170,17 @@ class PolarViewFragment : Fragment() {
|
||||
private fun setPassText() {
|
||||
satPos = satPass.predictor.getSatPos(Date())
|
||||
polarAzimuth.text = String.format(
|
||||
context.getString(R.string.pattern_polar_azimuth),
|
||||
context.getString(R.string.pattern_value_az),
|
||||
rad2Deg(satPos.azimuth)
|
||||
)
|
||||
polarElevation.text = String.format(
|
||||
context.getString(R.string.pattern_polar_elev),
|
||||
context.getString(R.string.pattern_value_el),
|
||||
rad2Deg(satPos.elevation)
|
||||
)
|
||||
polarRange.text =
|
||||
String.format(context.getString(R.string.pattern_polar_range), satPos.range)
|
||||
String.format(context.getString(R.string.pattern_value_rng), satPos.range)
|
||||
polarAltitude.text =
|
||||
String.format(context.getString(R.string.pattern_polar_alt), satPos.altitude)
|
||||
String.format(context.getString(R.string.pattern_value_alt), satPos.altitude)
|
||||
}
|
||||
|
||||
private fun drawRadarView(cvs: Canvas) {
|
||||
|
||||
Reference in new issue
Block a user