Changement de Type de Carte dans Android Application Carte

Je suis très nouveau à la programmation. Je vais prendre un mobile, développement de la classe et c'est tout nouveau pour moi.
J'ai créé un très de base de l'application pour Android dans Android studio qui montre un standard de Google Map. J'ai besoin de créer des boutons sur l'application pour changer la carte normale, satellite, relief, et hybride. J'ai été la recherche ici et sur plusieurs autres sources, mais je ne sais pas par où commencer, ni où mettre le code que j'ai trouver sur d'autres sites. Quelqu'un peut-il aider? Je suis sûr que c'est assez facile, je ne sais pas quoi faire.

Merci!

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapActivity"
    tools:ignore="MissingPrefix">

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_margin="5dp"
        class="com.google.android.gms.maps.MapFragment"
        android:id="@+id/map"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        map:cameraBearing="112.5"
        map:cameraTargetLat="-33.796923"
        map:cameraTargetLng="150.922433"
        map:cameraTilt="30"
        map:cameraZoom="13"
        map:uiCompass="true"
        map:uiRotateGestures="true"
        map:uiScrollGestures="false"
        map:uiTiltGestures="true"
        map:uiZoomControls="true"
        map:uiZoomGestures="true"
     />
</RelativeLayout>

.fichier java

package geog498v.mymap;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class MapActivity extends FragmentActivity implements OnMapReadyCallback {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
MapFragment mapFragment = (MapFragment)     getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_map, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//Handle action bar item clicks here. The action bar will
//automatically handle clicks on the Home/Up button, so long
//as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.addMarker(new MarkerOptions().position(new LatLng(0,  0)).title("Marker"));
googleMap.getUiSettings().setZoomControlsEnabled(true);
googleMap.getUiSettings().setCompassEnabled(true);
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
googleMap.getUiSettings().setMapToolbarEnabled(true);
googleMap.getUiSettings().setZoomGesturesEnabled(true);
googleMap.getUiSettings().setScrollGesturesEnabled(true);
googleMap.getUiSettings().setTiltGesturesEnabled(true);
googleMap.getUiSettings().setRotateGesturesEnabled(true);
}
}

OriginalL'auteur Max Cushner | 2016-03-30