有没有检查当前地图是否在地图或卫星模式的方法? [英] Is there a method to check whether the current Map is in Map or Satellite mode?

查看:225
本文介绍了有没有检查当前地图是否在地图或卫星模式的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设置地图卫星视图上的切换按钮点击

I am setting the Map to Satellite view on click of a toggle button

 mapToggle.setOnClickListener(new OnClickListener()
     {

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

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

我要programitically确定它是在应用程序重新启动时的模式。请指点。

I want to programitically determine which mode it is in when the app restarts. Please advice.

推荐答案

我来完成,这是设置在你的共享preferences int值的方式。然后,该按钮的的onClick,获得的价值和打开或关闭相应切换卫星。

The way I accomplished this is to set an int value in your SharedPreferences. Then onClick of that button, get the value and switch satellite on or off accordingly.

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();
        }
    });
}

您可能希望把它清理干净了一点,但它为我工作。

You may want to clean it up a little, but it works for me.

这篇关于有没有检查当前地图是否在地图或卫星模式的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆