diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-11-18 21:11:28 +0100 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-11-18 21:11:28 +0100 |
commit | 9431b8ca432714be7a99113a049a8a12106205ae (patch) | |
tree | 7968e7862c98bbc88baccc60275f866da111ac9f | |
parent | 9862992f8601f6f8bc4150a04e72af2e781aea64 (diff) |
Dodato dugme da korisnik moze da potvrdi koordinate lokacije koju zeli da doda. Povratna vrednost longitude i latitude.
3 files changed, 54 insertions, 8 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt index 8762d4e..e8b9ceb 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt @@ -3,7 +3,6 @@ package com.example.brzodolokacije.Activities import android.Manifest import android.content.Context import android.content.pm.PackageManager -import android.graphics.Canvas import android.location.Location import android.location.LocationManager import android.os.Build @@ -12,6 +11,7 @@ import android.os.Looper import android.os.StrictMode import android.preference.PreferenceManager import android.util.DisplayMetrics +import android.util.Log import android.view.KeyEvent import android.view.MotionEvent import android.view.View @@ -30,7 +30,10 @@ import org.osmdroid.tileprovider.tilesource.TileSourceFactory import org.osmdroid.util.GeoPoint import org.osmdroid.views.MapView import org.osmdroid.views.Projection -import org.osmdroid.views.overlay.* +import org.osmdroid.views.overlay.ItemizedIconOverlay +import org.osmdroid.views.overlay.Overlay +import org.osmdroid.views.overlay.OverlayItem +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 @@ -47,8 +50,11 @@ class MapsActivity : AppCompatActivity() { private lateinit var locationManager: LocationManager private lateinit var searchButton: MaterialButton private lateinit var gpsButton: FloatingActionButton + private lateinit var confirmButton: FloatingActionButton private lateinit var searchBar: TextInputEditText var client: FusedLocationProviderClient? = null + var locLongitude:Double?=null + var locLatitude:Double?=null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_maps) @@ -60,6 +66,7 @@ class MapsActivity : AppCompatActivity() { setUpMap() searchButton=findViewById<View>(R.id.ActivityMapsSearchButton) as MaterialButton gpsButton=findViewById<View>(R.id.ActivityMapsMyLocation) as FloatingActionButton + confirmButton=findViewById<View>(R.id.ActivityMapsConfirmLocation) as FloatingActionButton searchBar=findViewById<View>(R.id.ActivityMapsSearchBar) as TextInputEditText client= LocationServices.getFusedLocationProviderClient(this) searchButton.setOnClickListener{ @@ -69,6 +76,10 @@ class MapsActivity : AppCompatActivity() { gpsButton.setOnClickListener{ getLocation() } + confirmButton.setOnClickListener{ + if(locLatitude!=null && locLatitude!=null) + returnValue() + } searchBar.setOnKeyListener(View.OnKeyListener { v1, keyCode, event -> // If the event is a key-down event on the "enter" button if (event.action === KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER @@ -83,7 +94,15 @@ class MapsActivity : AppCompatActivity() { } - + fun returnValue(){ + val intent = intent + val bundle = Bundle() + bundle.putDouble("longitude", locLongitude!!) + bundle.putDouble("latitude", locLatitude!!) + intent.putExtras(bundle) + setResult(RESULT_OK, intent) + finish() + } override fun onResume() { super.onResume() @@ -138,6 +157,10 @@ class MapsActivity : AppCompatActivity() { val loc = proj.fromPixels(e.x.toInt(), e.y.toInt()) val longitude = java.lang.Double.toString(loc.longitudeE6.toDouble() / 1000000) val latitude = java.lang.Double.toString(loc.latitudeE6.toDouble() / 1000000) + locLongitude=loc.longitude + locLatitude=loc.latitude + Log.d("main"," "+locLongitude) + Log.d("main"," "+locLatitude) val overlayArray = ArrayList<OverlayItem>() val mapItem = OverlayItem( "", "", GeoPoint( @@ -160,6 +183,7 @@ class MapsActivity : AppCompatActivity() { mapView.overlays.add(anotherItemizedIconOverlay) } // dlgThread(); + confirmButton.visibility=View.VISIBLE return true } } @@ -200,12 +224,8 @@ class MapsActivity : AppCompatActivity() { if(result==null) Toast.makeText(this,"Nepostojeca lokacija", Toast.LENGTH_SHORT) else{ - //move to spot + //Move to spot val searchPoint = GeoPoint(result.latitude,result.longitude) - val startMarker = Marker(map) - startMarker.setPosition(searchPoint) - startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM) - map!!.getOverlays().add(startMarker) map!!.controller.animateTo(searchPoint) @@ -328,4 +348,8 @@ class MapsActivity : AppCompatActivity() { } } } + override fun onBackPressed() { + super.onBackPressed() + finish() + } }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_check_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_check_24.xml new file mode 100644 index 0000000..257e641 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_check_24.xml @@ -0,0 +1,5 @@ +<vector android:height="24dp" android:tint="#666666" + android:viewportHeight="24" android:viewportWidth="24" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="@android:color/white" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/> +</vector> diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml index b45e1f0..8d37c29 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml @@ -33,6 +33,23 @@ app:rippleColor="#FFFFFF" app:srcCompat="@android:drawable/ic_menu_mylocation" /> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/ActivityMapsConfirmLocation" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentStart="true" + android:layout_marginBottom="80dp" + android:layout_marginLeft="10dp" + android:backgroundTint="#FFFFFF" + android:clickable="true" + android:focusable="true" + android:tint="#FFFFFF" + app:layout_constraintBottom_toBottomOf="@+id/ActivityMapsMapView" + app:layout_constraintStart_toStartOf="parent" + app:rippleColor="#FFFFFF" + app:srcCompat="@drawable/ic_baseline_check_24" + android:visibility="invisible"/> + <androidx.cardview.widget.CardView android:id="@+id/ActivityMapsCardViewSearch" android:layout_width="0dp" |