안드로이드 개발 질문/답변
(글 수 45,052)
SurfaceView를 생성을 하고 OnDraw를 쓰레드로 돌리는 전형적인 써비스뷰를 만들었습니다.
MapActivity에서 MapView를 생성을 하고
SurfaceView에 멤버로 넣어주고
SurfaceView.OnDraw에 MapView의 Draw를 불러 주고 있습니다.
그런데 화면에는 아무것도 그려지지않는군요...
//맵뷰생성.
m_map = new MapView(this, m_mapKey);
m_map.setEnabled(true);
m_map.setClickable(true);
m_map.setClickable(true);
//써피스뷰 생성
m_mapview = new myMapview(this,m_map);
m_mapview.setLayoutParams(lp);
m_mapview.setClickable(true);
m_mapview.setClickable(true);
//리니어레이아웃에 서피스뷰 애드.
ml.addView(m_mapview);
디버그창을 보니 mapView어쩌고 하면서 빨간글시로 에러 코드가 잔뜩 뜨는데요....
05-24 12:10:32.689: ERROR/MapView(24293): IllegalStateException on drawMap. Wiping cache.
05-24 12:10:32.689: ERROR/MapView(24293): java.lang.IllegalStateException: Map has zero size
05-24 12:10:32.689: ERROR/MapView(24293): at com.google.googlenav.map.Map.drawMap(Unknown Source)
05-24 12:10:32.689: ERROR/MapView(24293): at com.google.android.maps.MapView.drawMap(MapView.java:1048)
05-24 12:10:32.689: ERROR/MapView(24293): at com.google.android.maps.MapView.onDraw(MapView.java:486)
05-24 12:10:32.689: ERROR/MapView(24293): at android.view.View.draw(View.java:6538)
05-24 12:10:32.689: ERROR/MapView(24293): at com.ST.testMapview.myMapview.onDraw(myMapview.java:46)
05-24 12:10:32.689: ERROR/MapView(24293): at com.ST.testMapview.drawMap.run(myMapview.java:125)
05-24 12:10:32.689: ERROR/MapView(24293): java.lang.IllegalStateException: Map has zero size
05-24 12:10:32.689: ERROR/MapView(24293): at com.google.googlenav.map.Map.drawMap(Unknown Source)
05-24 12:10:32.689: ERROR/MapView(24293): at com.google.android.maps.MapView.drawMap(MapView.java:1048)
05-24 12:10:32.689: ERROR/MapView(24293): at com.google.android.maps.MapView.onDraw(MapView.java:486)
05-24 12:10:32.689: ERROR/MapView(24293): at android.view.View.draw(View.java:6538)
05-24 12:10:32.689: ERROR/MapView(24293): at com.ST.testMapview.myMapview.onDraw(myMapview.java:46)
05-24 12:10:32.689: ERROR/MapView(24293): at com.ST.testMapview.drawMap.run(myMapview.java:125)
요렇게 뜨네요....
질문은
* SurfaceView 의 백버퍼에 에 MapView.Draw를 부르는게 애초에 잘못된것인가.....
* 그러면 MapView위에 SurfaceView를 올린상태에서 터치나 클릭 이벤트 처리는 어떻게 하는것인가..
입니다.;;;