Initial OSM setup

This commit is contained in:
Arty Bishop committed 2020-09-19 20:19:25 +01:00
1 parent 85c01f05af
commit 770fb9b244
6 files changed
+98 -2

No files matched your search

+1
View File
@@ -22,6 +22,7 @@
package="com.rtbishop.look4sat">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<application
@@ -109,6 +109,12 @@ class MainActivity : AppCompatActivity(), TleSourcesDialogFragment.SourcesSubmit
R.id.nav_map_view -> {
this.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
toolbar.visibility = View.GONE
mainBinding.includeAppBar.toolbarLayout.visibility = View.GONE
}
R.id.nav_map_osm -> {
this.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
toolbar.visibility = View.GONE
mainBinding.includeAppBar.toolbarLayout.visibility = View.GONE
}
else -> {
this.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
@@ -0,0 +1,73 @@
package com.rtbishop.look4sat.ui.fragments
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.preference.PreferenceManager
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.FragmentMapOsmBinding
import org.osmdroid.config.Configuration
import org.osmdroid.tileprovider.tilesource.TileSourceFactory
import org.osmdroid.util.GeoPoint
import org.osmdroid.views.MapView
import org.osmdroid.views.overlay.OverlayItem
class MapOsmFragment : Fragment(R.layout.fragment_map_osm) {
private lateinit var binding: FragmentMapOsmBinding
private lateinit var mapView: MapView
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val appContext = requireActivity().applicationContext
binding = FragmentMapOsmBinding.bind(view)
binding.mapView.apply {
controller.animateTo(mapCenter)
controller.setZoom(2.5)
setMultiTouchControls(true)
maxZoomLevel = 7.5
minZoomLevel = 2.5
// isClickable = true
// setScrollableAreaLimitLatitude(-90.0, 90.0, 0)
// setScrollableAreaLimitLongitude(-180.0, 180.0, 0)
}
Configuration
.getInstance()
.load(appContext, PreferenceManager.getDefaultSharedPreferences(appContext))
init()
}
private fun init() {
mapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE)
val gPt = GeoPoint(28.6337874, 77.35767599999997)
val gPt2 = GeoPoint(28.638472, 77.360667)
mapView.controller.setCenter(gPt)
/*place icon on map*/
val items = ArrayList<OverlayItem>()
items.add(OverlayItem("Current Location", "Amrapali Village, Indirapuram", gPt))
items.add(OverlayItem("Destination", "Aditya Mall, Indirapuram", gPt2))
}
override fun onResume() {
super.onResume()
//this will refresh the osmdroid configuration on resuming.
//if you make changes to the configuration, use
//SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
//Configuration.getInstance().load(this, PreferenceManager.getDefaultSharedPreferences(this));
mapView.onResume() //needed for compass, my location overlays, v6.0.0 and up
}
override fun onPause() {
super.onPause()
//this will refresh the osmdroid configuration on resuming.
//if you make changes to the configuration, use
//SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
//Configuration.getInstance().save(this, prefs);
mapView.onPause() //needed for compass, my location overlays, v6.0.0 and up
}
}
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<org.osmdroid.views.MapView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.fragments.MapOsmFragment" />
+4
View File
@@ -39,5 +39,9 @@
android:id="@+id/nav_about"
android:icon="@drawable/ic_about"
android:title="@string/menu_about" />
<item
android:id="@+id/nav_map_osm"
android:icon="@drawable/ic_world_map"
android:title="@string/placeholder" />
</group>
</menu>
+7 -2
View File
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
<?xml version="1.0" encoding="utf-8"?><!--
~ Look4Sat. Amateur radio and weather satellite tracker and passes predictor for Android.
~ Copyright (C) 2019, 2020 Arty Bishop (bishop.arty@gmail.com)
~
@@ -65,4 +64,10 @@
android:label="@string/menu_about"
tools:layout="@layout/fragment_about" />
<fragment
android:id="@+id/nav_map_osm"
android:name="com.rtbishop.look4sat.ui.fragments.MapOsmFragment"
android:label="@string/placeholder"
tools:layout="@layout/fragment_map_osm" />
</navigation>