我尝试在Android工作室中使用mMap.changeMapType(...)
并发生了一些奇怪的事情
起初,我尝试使用按钮来更改地图类型,它完美地工作...
然后尝试使用基本上做同样的事情的选项菜单,地图类型不会改变。我尝试使用调试器,所以我知道它不仅仅停留在“mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
”上,而是跳过“return true;'" and goes straight to "
返回false; "
my code:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.SATELLITE:
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
case R.id.normal:
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
case R.id.hybrid:
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
case R.id.terrain:
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
return true;
}
return false;
}
答案 0 :(得分:1)
修复switch
语句如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.SATELLITE:
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
break;
case R.id.normal:
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
break;
case R.id.hybrid:
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
break;
case R.id.terrain:
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
break;
default:
return false;
}
return true;
}