package com.example.a10653.wymap;import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;import com.amap.api.maps.AMap;
import com.amap.api.maps.MapView;
import com.amap.api.maps.model.MyLocationStyle;public class MainActivity extends AppCompatActivity {    private MapView mapView;
    private AMap aMap;
    private Spinner spinner;    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mapView = findViewById(R.id.map);
        spinner = findViewById(R.id.map_type_spinner);
        mapView.onCreate(savedInstanceState);
        init();
        initSpinner();
    }    private void init() {
        if (aMap == null){
            aMap = mapView.getMap();
        }
        aMap.showIndoorMap(true);
        setUpMap();
    }    private void setUpMap(){
        aMap.getUiSettings().setMyLocationButtonEnabled(true);
        aMap.setMyLocationEnabled(true);
        setupLocationStyle();
    }    private void setupLocationStyle(){
        MyLocationStyle myLocationStyle = new MyLocationStyle();
        myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATE);
        aMap.setMyLocationStyle(myLocationStyle);
        aMap.setMyLocationEnabled(true);
    }    private void initSpinner(){        String[] mapTypes = getResources().getStringArray(R.array.map_type);
        ArrayAdapter<String> arrayAdapter =  new ArrayAdapter<>(this,R.layout.map_type_spinner,mapTypes);
        spinner.setAdapter(arrayAdapter);
        spinner.setSelected(false);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                if (position == 2){
                    aMap.setMapType(AMap.MAP_TYPE_BUS);
                }
                if (position == 3){
                    aMap.setMapType(AMap.MAP_TYPE_NAVI);
                }
                if (position == 4){
                    aMap.setMapType(AMap.MAP_TYPE_NIGHT);
                }
                if (position == 5){
                    aMap.setMapType(AMap.MAP_TYPE_NORMAL);
                }
                if (position == 6){
                    aMap.setMapType(AMap.MAP_TYPE_SATELLITE);
                }
            }            @Override
            public void onNothingSelected(AdapterView<?> parent) {            }
        });
    }
}