이제 최종 SDK가 Google API와 함께 나왔습니다. MapView로 조각을 만드는 가장 좋은 방법은 무엇입니까? MapView가 제대로 작동하려면 MapActivity가 필요합니다.
프래그먼트를 관리하는 액티비티가 MapActivity에서 상속하고 (프래그먼트가 자체 포함되어 있다는 생각에 반하기 때문에 잘못된 솔루션) 일반 xml 기반 레이아웃을 사용하는 것은 작동하지 않습니다. MapActivity.setupMapView ()에서 NullPointerException이 발생합니다.
E / AndroidRuntime (597) : 원인 : java.lang.NullPointerException E / AndroidRuntime (597) : com.google.android.maps.MapActivity.setupMapView (MapActivity.java:400)에서 E / AndroidRuntime (597) : com.google.android.maps.MapView. (MapView.java:289) E / AndroidRuntime (597) : com.google.android.maps.MapView. (MapView.java:264) E / AndroidRuntime (597) : com.google.android.maps.MapView. (MapView.java:247)
두 번째 아이디어는 MapView를 프로그래밍 방식으로 만들고 관련 활동을 (getActivity ()를 통해) 컨텍스트로 MapView 생성자에 전달하는 것입니다. 작동하지 않음 :
E / AndroidRuntime (834) : 원인 : java.lang.IllegalArgumentException : MapViews는 MapActivity 인스턴스 내에서만 만들 수 있습니다. E / AndroidRuntime (834) : com.google.android.maps.MapView. (MapView.java:291) E / AndroidRuntime (834) : com.google.android.maps.MapView. (MapView.java:235) E / AndroidRuntime (834) : de.foo.FinderMapFragment.onCreateView (FinderMapFragment.java:225) E / AndroidRuntime (834) : android.app.FragmentManagerImpl.moveToState (FragmentManager.java:708) E / AndroidRuntime (834) : android.app.FragmentManagerImpl.moveToState (FragmentManager.java:900) E / AndroidRuntime (834) : android.app.FragmentManagerImpl.addFragment (FragmentManager.java:978)에서 E / AndroidRuntime (834) : android.app.Activity.onCreateView (Activity.java:4090)에서 E / AndroidRuntime (834) : android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:664)에서
실제로 MapView가 필요한 백그라운드 스레드를 처리하는 MapFragment와 같은 것이 있어야합니다. 그렇다면 현재 가장 좋은 방법은 무엇입니까?
독일 발렌틴에서 감사합니다.