aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt59
1 files changed, 57 insertions, 2 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt
index c71e6d6..1c5b36e 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt
@@ -1,17 +1,28 @@
package com.example.brzodolokacije.Fragments
+import android.Manifest
import android.content.Context
+import android.content.pm.PackageManager
+import android.location.Geocoder
import android.os.Bundle
import android.preference.PreferenceManager
+import android.util.DisplayMetrics
+import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.Toast
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import com.example.brzodolokacije.R
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.ScaleBarOverlay
+import org.osmdroid.views.overlay.compass.CompassOverlay
+import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider
import org.osmdroid.views.overlay.gestures.RotationGestureOverlay
import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider
import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay
@@ -21,6 +32,9 @@ class FragmentBrowse : Fragment(R.layout.fragment_browse) {
var map: MapView? = null
var mLocationOverlay:MyLocationNewOverlay?=null
+ var mRotationGestureOverlay:RotationGestureOverlay?=null
+ var mScaleBarOverlay: ScaleBarOverlay?=null
+ var mCompassOverlay:CompassOverlay?=null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -54,9 +68,50 @@ class FragmentBrowse : Fragment(R.layout.fragment_browse) {
map!!.setMultiTouchControls(true);
val mapController = map!!.controller
mapController.setZoom(15)
- val startPoint = GeoPoint(44.0073, 20.9227)
+
+
+ //my location
+ //checkLocPerm()
+ mLocationOverlay = MyLocationNewOverlay(GpsMyLocationProvider(context), map)
+ mLocationOverlay!!.enableMyLocation()
+ map!!.getOverlays().add(this.mLocationOverlay)
+ //var res=Geocoder(requireContext()).getFromLocationName("Paris",1)
+ //Log.d("Main",res.toString())
+ //start point
+ val startPoint = GeoPoint(44.0107,20.9181)//dodati nasu lokaciju TODO
mapController.setCenter(startPoint)
-
+
+ //rotation gestures
+ mRotationGestureOverlay = RotationGestureOverlay(context, map)
+ mRotationGestureOverlay!!.setEnabled(true)
+ map!!.setMultiTouchControls(true)
+ map!!.getOverlays().add(this.mRotationGestureOverlay)
+ //Map scale bar
+ val dm:DisplayMetrics=requireContext().resources.displayMetrics
+ mScaleBarOverlay = ScaleBarOverlay(map);
+ mScaleBarOverlay!!.setCentred(true);
+ mScaleBarOverlay!!.setScaleBarOffset(dm.widthPixels / 2, 10);
+ map!!.getOverlays().add(this.mScaleBarOverlay);
+
+ //Compass
+ this.mCompassOverlay =
+ CompassOverlay(context, InternalCompassOrientationProvider(context), map)
+ mCompassOverlay!!.enableCompass()
+ map!!.getOverlays().add(this.mCompassOverlay)
+ }
+ fun checkLocPerm(){
+ if (ContextCompat.checkSelfPermission(
+ requireContext(),
+ Manifest.permission.ACCESS_FINE_LOCATION
+ )
+ != PackageManager.PERMISSION_GRANTED
+ ) {
+ ActivityCompat.requestPermissions(
+ requireActivity(),
+ arrayOf(Manifest.permission.ACCESS_FINE_LOCATION),
+ 101
+ )
+ }
}