我尝试在屏幕上创建一个菜单,其中菜单将以卫星模式和地形显示地图。
我的代码:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_MyLocation:
//startActivity(new Intent(this, MyLocation.class));
return(true);
case MENU_LocationCar:
startActivity(new Intent(this, Gps.class));
return(true);
case MENU_Satellite:
map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
return(true);
case MENU_Terrain:
map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
return(true);
}
return(super.onOptionsItemSelected(item));
}
答案 0 :(得分:1)
通过调用MapView
,您需要在更改其设置后刷新invalidate()
。
所以你的代码看起来像
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_MyLocation:
//startActivity(new Intent(this, MyLocation.class));
return(true);
case MENU_LocationCar:
startActivity(new Intent(this, Gps.class));
return(true);
case MENU_Satellite:
map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
map.invalidate();
return(true);
case MENU_Terrain:
map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
map.invalidate();
return(true);
}
return(super.onOptionsItemSelected(item));
}