2011-06-30 19 views
0

私はマップビューで、通常と衛星ビューを切り替えますボタンを追加したいと私はthe application has stopped unexpectedlyエラーを取得しておくアンドロイド - Googleマップの衛星トグル

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

答えて

1

すべてが与えられている場合は右クリックnullポインタ例外かどうかを確認しますmyMapviewオブジェクトで発生します。最初に宣言したので、onCreateを使用しています。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

関連する問題