3

Android アプリケーションでマップ タイプを変更できません。すべて正常に動作しますが、この機能はそうではありません。

これは MapActivity クラスの一部です

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                   WindowManager.LayoutParams.FLAG_FULLSCREEN );
    this.locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    mMapFragment = MapFragment.newInstance();
    setContentView(R.layout.activity_map_fabio);
    options.mapType(GoogleMap.MAP_TYPE_NORMAL)
    .compassEnabled(true)
    .scrollGesturesEnabled(true)
    .zoomGesturesEnabled(true)
    .tiltGesturesEnabled(true);
    MapFragment.newInstance(options);
    mMap = ((SupportMapFragment) getSupportFragmentManager()
                                          .findFragmentById(R.id.map)).getMap();
    android.app.FragmentTransaction fragmentTransaction = 
                                        getFragmentManager().beginTransaction();
    fragmentTransaction.add(R.id.map, mMapFragment);

    fragmentTransaction.commit();

    satellite = (CheckBox) findViewById(R.id.satellite);
    satellite.setOnCheckedChangeListener(new OnCheckedChangeListener(){
        @Override
        public void onCheckedChanged(CompoundButton buttonView, 
                                                   boolean isChecked) {
            if (satellite.isChecked()){
                mMap.getUiSettings().setAllGesturesEnabled(true);
                options.mapType(GoogleMap.MAP_TYPE_SATELLITE);                  
            }
        }
    });

チェックはリッスンされますが、マップはビューを変更しません。

4

1 に答える 1

4

このインポートが必要です:

import static com.google.android.gms.maps.GoogleMap.MAP_TYPE_SATELLITE;

マップ タイプをサテライトに変更するには、次の行が必要です。

mMap.setMapType(MAP_TYPE_SATELLITE);
于 2013-06-30T20:43:28.813 に答える