Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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_Google Maps - Fatal编程技术网

Android 安卓谷歌地图卫星切换

Android 安卓谷歌地图卫星切换,android,google-maps,Android,Google Maps,我想添加一个按钮,该按钮将在地图视图中的普通视图和卫星视图之间切换,我不断收到一个应用程序意外停止的错误 public class NewMapsActivity extends MapActivity { private MapView myMapView; @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); s

我想添加一个按钮,该按钮将在地图视图中的普通视图和卫星视图之间切换,我不断收到一个
应用程序意外停止的错误

public class NewMapsActivity extends MapActivity 
{    
    private MapView myMapView;

    @Override
        protected void onCreate(Bundle icicle) 
    {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        MapView myMapView = (MapView) findViewById(R.id.mapview);

        Button mySatelliteButton = (Button)findViewById(R.id.c_button);
        mySatelliteButton.setOnClickListener(new View.OnClickListener()
        {
           public void onClick(View v)
            {
                SetSatellite();
            }
        });
     myMapView.setBuiltInZoomControls(true);
     }

    private void SetSatellite()
        {
            if ( myMapView.isSatellite() )
                myMapView.setSatellite(false);
            else 
                myMapView.setSatellite(true);
        }

    @Override
        protected boolean isRouteDisplayed() 
     {
            return false;
     }
}

若一切正常,则检查myMapview对象中是否出现nullpointer异常。因为您已经在顶部声明了,所以在onCreate内部使用的是MapView mymapView=(MapView)findViewById(R.id.MapView);因此,当您在setStallite()中使用mymapview对象时,它将只接受在顶部声明的对象。所以试试这个

  myMapView = (MapView) findViewById(R.id.mapview);
但您需要将顶部的myMapview声明为MapView myMapview


如果没有,请勾选此项。请在logcat中发布您的错误。

这不是答案,这是评论。对不起,我无权对问题发表评论。当他发帖时,我会更新我的答案。我尝试了一些不同的代码,看起来我的Issatelite()方法出现了java.lang.NullPointerException错误。