diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0cf6d19ad9df015c98d9cdab6ea8baed9f1f2fb4..e610a7c64089a4f9efd575335f1205f558196b1a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,6 +7,8 @@ android:required="false" /> <uses-permission android:name="android.permission.CALL_PHONE" /> + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <queries> <intent> diff --git a/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java b/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java index 35fc0f85b69e083e8ee0816d32a662ad2fbeeaf1..fec36eaba6c1b066eaefbec396fea06c279f0cde 100644 --- a/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java +++ b/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java @@ -2,6 +2,7 @@ package fr.imt_atlantique.myfirstapplication; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; import androidx.fragment.app.Fragment; import android.os.Bundle; @@ -18,6 +19,8 @@ import com.google.android.gms.maps.model.MarkerOptions; public class MapsFragment extends Fragment { + private Toolbar toolbar; + private OnMapReadyCallback callback = new OnMapReadyCallback() { /** @@ -34,6 +37,9 @@ public class MapsFragment extends Fragment { LatLng sydney = new LatLng(-34, 151); googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); + googleMap.getUiSettings().setZoomGesturesEnabled(true); + googleMap.getUiSettings().setCompassEnabled(true); + googleMap.getUiSettings().setMyLocationButtonEnabled(true); } }; @@ -43,11 +49,14 @@ public class MapsFragment extends Fragment { @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_maps, container, false); + } @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); + toolbar = view.findViewById(R.id.mapsToolbar); + toolbar.inflateMenu(R.menu.menu_maps); SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map); if (mapFragment != null) { diff --git a/app/src/main/res/layout/fragment_maps.xml b/app/src/main/res/layout/fragment_maps.xml index 1b0e9aeb77ecdb443e51bede72fc2892e2abb62e..03d42978045f495c0f1e823437759645976866fb 100644 --- a/app/src/main/res/layout/fragment_maps.xml +++ b/app/src/main/res/layout/fragment_maps.xml @@ -1,8 +1,38 @@ <?xml version="1.0" encoding="utf-8"?> -<fragment 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:id="@+id/map" - android:name="com.google.android.gms.maps.SupportMapFragment" + android:id="@+id/mapsFragment" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".MapsFragment" /> \ No newline at end of file + android:fitsSystemWindows="true" + tools:context=".MapsFragment"> + + <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appBarLayout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" + android:background="@color/black" + tools:ignore="MissingConstraints"> + <androidx.appcompat.widget.Toolbar + android:id="@+id/mapsToolbar" + android:layout_width="match_parent" + android:layout_height="50dp" + app:title="@string/app_name" + app:titleTextColor="@color/white"/> + </com.google.android.material.appbar.AppBarLayout> + + <fragment + android:id="@+id/map" + android:name="com.google.android.gms.maps.SupportMapFragment" + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintTop_toBottomOf="@+id/appBarLayout" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + tools:context=".MapsFragment"/> + +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/menu/menu_maps.xml b/app/src/main/res/menu/menu_maps.xml new file mode 100644 index 0000000000000000000000000000000000000000..b8e4aa57361a9a5ae3cb1a14ed1811ce015cdcee --- /dev/null +++ b/app/src/main/res/menu/menu_maps.xml @@ -0,0 +1,13 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:id="@+id/MapTypeNormalAction" + android:title="@string/map_type_normal"> + </item> + <item + android:id="@+id/MapTypeHybridAction" + android:title="@string/map_type_hybrid"> + </item> + <item + android:id="@+id/MapTypeSatelliteAction" + android:title="@string/map_type_satellite"> + </item> +</menu> \ No newline at end of file diff --git a/app/src/main/res/values-FR/strings.xml b/app/src/main/res/values-FR/strings.xml index ca2a1a630ac8b4d191cbb51e5bb2d4e2d1907e76..54665454da1a17dbeaa554d6060f9b9c55efd9d0 100644 --- a/app/src/main/res/values-FR/strings.xml +++ b/app/src/main/res/values-FR/strings.xml @@ -31,4 +31,7 @@ <string name="open_wikipedia">Ouvrir Wikipédia</string> <string name="share">Partager</string> <string name="error_first_name_empty">Le prénom ne peut pas être vide.</string> + <string name="map_type_normal">Version normale</string> + <string name="map_type_hybrid">Version hybride</string> + <string name="map_type_satellite">Version satellite</string> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d9f53f8871743e5558b18fc85d037ba200fd5a31..feebf34787348f0314c735001523fbf4007c9106 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -31,4 +31,8 @@ <string name="open_wikipedia">Open Wikipedia</string> <string name="share">Share</string> <string name="error_first_name_empty">The first name can not be empty.</string> + + <string name="map_type_normal">Normal version</string> + <string name="map_type_hybrid">Hydrid version</string> + <string name="map_type_satellite">Satellite version</string> </resources> \ No newline at end of file