Android的谷歌地图卫星切换

问题描述:

我要添加按钮,将在地图视图中正常和卫星视图之间切换,我不断收到一个the application has stopped unexpectedly错误Android的谷歌地图卫星切换

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对象中。因为你已经在顶部声明,然后在onCreate内部使用MapView mymapView =(MapView)findViewById(R.id.mapview);所以当你在setStallite()中使用mymapview对象时,它只会使用在顶部声明的对象。所以试试这个

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

但你要声明myMapview顶部为MapView myMapview;

检查这个如果不是请在logcat中发布你的错误

+0

这不是答案这是评论。 – Nikhil

+0

对不起,我没有权限对问题发表评论。当他发布我会更新我的答案。 – deepa

+0

我尝试了与我的代码不同的东西,它看起来像isSatellite()方法的java.lang.NullPointerException错误。 – ababzy