Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否有方法检查当前地图是否处于地图模式或卫星模式?_Android_Map_Android Mapview_Satellite - Fatal编程技术网

Android 是否有方法检查当前地图是否处于地图模式或卫星模式?

Android 是否有方法检查当前地图是否处于地图模式或卫星模式?,android,map,android-mapview,satellite,Android,Map,Android Mapview,Satellite,单击切换按钮,我将地图设置为卫星视图 mapToggle.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (mapToggle.isChecked()) { mapV.setSatellite(true); } else

单击切换按钮,我将地图设置为卫星视图

 mapToggle.setOnClickListener(new OnClickListener()
     {

         public void onClick(View v)
         {
             if (mapToggle.isChecked())
             {   
                 mapV.setSatellite(true);  

             } else {   
                 mapV.setSatellite(false);  
             }   
    }});

我想通过编程确定应用程序重新启动时的模式。请给出建议。

我实现这一点的方法是在您的SharedReference中设置一个int值。然后单击该按钮,获取值并相应地打开或关闭卫星

private static final int OVERLAY_STREET = 0;
private static final int OVERLAY_SAT = 1;

@Override
public void onCreate(Bundle savedInstanceState) {

    int currentOverlayMode = prefs.getInt("map_viewmode", 0);

    mOverlayModeBtn = (Button)findViewById(R.id.googlemaps_overlay_btn);
    mOverlayModeBtn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            if (currentOverlayMode < 1)
                currentOverlayMode++;
            else
                currentOverlayMode = 0;
            switch (currentOverlayMode) {
            case OVERLAY_STREET:
                mMaps.setSatellite(false);
                mMaps.setStreetView(true);
                prefsEditor.putInt("map_viewmode", OVERLAY_STREET);
                break;
            case OVERLAY_SAT:
                mMaps.setStreetView(false);
                mMaps.setSatellite(true);
                prefsEditor.putInt("map_viewmode", OVERLAY_SAT);
                break;
            }
            prefsEditor.commit();
            mMaps.invalidate();
        }
    });
}
private static final int OVERLAY_STREET=0;
专用静态最终int覆盖_SAT=1;
@凌驾
创建时的公共void(Bundle savedInstanceState){
int currentOverlyMode=prefs.getInt(“映射视图模式”,0);
mOverlayModeBtn=(按钮)findviewbyd(R.id.googlemaps\u overlay\u btn);
setOnClickListener(新的OnClickListener()){
公共void onClick(视图v){
如果(CurrentOverlyMode<1)
CurrentOverlyMode++;
其他的
CurrentOverlyMode=0;
开关(CurrentOverlyMode){
嘉士伯街:
mMaps.固定卫星(假);
mMaps.setStreetView(真);
prefsEditor.putInt(“地图视图模式”,叠加街道);
打破
个案(u SAT):
mMaps.setTreetView(假);
mMaps.setSatellite(真);
prefsEditor.putInt(“地图/视图模式”,叠加/卫星);
打破
}
提交();
mMaps.invalidate();
}
});
}
你可能想把它弄干净一点,但它对我有用