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) { }
});
}
}
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) { }
});
}
}
spinner = findViewById(R.id.map_type_spinner);
这个应该前面有个强制类型转换吧
spinner = (Spinner)findViewById(R.id.map_type_spinner);