【问题标题】:change map type on android studio在 android studio 上更改地图类型
【发布时间】:2017-11-20 20:54:41
【问题描述】:

我尝试在 Android Studio 中使用 mMap.changeMapType(...),但发生了一些奇怪的事情 起初,我尝试使用按钮更改地图类型,并且效果很好...... 然后尝试使用基本上做同样事情的选项菜单并且地图类型不会改变。我尝试使用调试器,所以我知道它不仅仅是在“mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);”上停止,而是跳过了“return true;'" and goes straight to "return 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;
    }

【问题讨论】:

  • 发送 logcat 错误

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


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2020-08-22
    • 2018-04-27
    相关资源
    最近更新 更多