在android studio上更改地图类型

时间:2017-06-18 16:20:09

标签: android android-studio maps google-maps-android-api-2

我尝试在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;
    }

1 个答案:

答案 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;
}