diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-11-12 18:35:51 +0100 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-11-12 18:35:51 +0100 |
commit | 7d3b6402cd18d69f31acb0b690e03e3dd8d5d282 (patch) | |
tree | 1ecb04bf291ca3ce0493eea3d9ac6c2b2bc10917 | |
parent | a2e36b576eac1f3f7ef6ec185abbb6a7203e0d08 (diff) |
Dodat search bar na mapi i omogucena pretraga po lokacijama.
-rw-r--r-- | Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt | 35 | ||||
-rw-r--r-- | Client/BrzoDoLokacije/app/src/main/res/layout/fragment_browse.xml | 41 |
2 files changed, 71 insertions, 5 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 ec6673c..08d0fdd 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 @@ -13,11 +13,15 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Button +import android.widget.EditText +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 com.example.brzodolokacije.Services.GeocoderHelper +import com.google.android.material.floatingactionbutton.FloatingActionButton import org.osmdroid.config.Configuration import org.osmdroid.tileprovider.tilesource.TileSourceFactory import org.osmdroid.util.GeoPoint @@ -37,6 +41,8 @@ class FragmentBrowse : Fragment(R.layout.fragment_browse) { var mRotationGestureOverlay:RotationGestureOverlay?=null var mScaleBarOverlay: ScaleBarOverlay?=null var mCompassOverlay:CompassOverlay?=null + private lateinit var searchButton:FloatingActionButton + private lateinit var searchBar: EditText override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -53,6 +59,14 @@ class FragmentBrowse : Fragment(R.layout.fragment_browse) { map=v.findViewById(R.id.FragmentBrowseMapView) as MapView map!!.setTileSource(TileSourceFactory.MAPNIK); setUpMap() + searchButton=v.findViewById<View>(R.id.FragmentBrowseSearchButton) as FloatingActionButton + searchBar=v.findViewById<View>(R.id.FragmentBrowseSearchBar) as EditText + + searchButton.setOnClickListener{ + searchMap() + } + + return v } @@ -77,8 +91,7 @@ class FragmentBrowse : Fragment(R.layout.fragment_browse) { mLocationOverlay = MyLocationNewOverlay(GpsMyLocationProvider(context), map) mLocationOverlay!!.enableMyLocation() map!!.getOverlays().add(this.mLocationOverlay) - var res= GeocoderHelper.getInstance() - Log.d("Main",res!!.getFromLocationName("Paris",1)[0].countryName) + //start point val startPoint = GeoPoint(44.0107,20.9181)//dodati nasu lokaciju TODO mapController.setCenter(startPoint) @@ -125,6 +138,24 @@ class FragmentBrowse : Fragment(R.layout.fragment_browse) { //your codes here } } + fun searchMap(){ + var geocoder= GeocoderHelper.getInstance() + //Log.d("Main",geocoder!!.getFromLocationName("Paris",1)[0].countryName) + var locString=searchBar.text.toString().trim() + if(locString==null || locString=="") + Toast.makeText(requireContext(),"Unesite naziv lokacije",Toast.LENGTH_SHORT) + else{ + var result=geocoder!!.getFromLocationName(locString,1)[0] + if(result==null) + Toast.makeText(requireContext(),"Nepostojeca lokacija",Toast.LENGTH_SHORT) + else{ + //move to spot + map!!.controller.animateTo(GeoPoint(result.latitude,result.longitude)) + + + } + } + } }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_browse.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_browse.xml index a811522..cdccaa6 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_browse.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_browse.xml @@ -1,14 +1,49 @@ <?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Fragments.FragmentBrowse"> + + + <org.osmdroid.views.MapView android:id="@+id/FragmentBrowseMapView" android:layout_width="fill_parent" - android:layout_height="fill_parent"/> + android:layout_height="fill_parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="@+id/FragmentBrowseSearchBar" /> + + <com.google.android.material.textfield.TextInputEditText + android:id="@+id/FragmentBrowseSearchBar" + android:layout_width="250dp" + android:layout_height="55dp" + android:layout_marginTop="40dp" + android:background="@drawable/rounded_white_button_login" + android:ems="10" + android:hint=" Pretraga" + android:inputType="textPersonName" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/FragmentBrowseSearchButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentStart="true" + android:backgroundTint="#FFFFFF" + android:clickable="true" + android:focusable="true" + android:tint="#FFFFFF" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/FragmentBrowseSearchBar" + app:layout_constraintTop_toTopOf="@+id/FragmentBrowseSearchBar" + app:rippleColor="#FFFFFF" + app:srcCompat="@android:drawable/ic_search_category_default" /> -</FrameLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file |