Ahora que el SDK final está disponible con las API de Google, ¿cuál es la mejor manera de crear un Fragmento con MapView? MapView necesita MapActivity para funcionar correctamente.
Tener la actividad que administra los fragmentos heredada de MapActivity (mala solución porque va en contra de la idea de que los fragmentos son autónomos) y usar un diseño regular basado en xml no funciona. Obtengo una NullPointerException en MapActivity.setupMapView ():
E / AndroidRuntime (597): causado por: java.lang.NullPointerException E / AndroidRuntime (597): en com.google.android.maps.MapActivity.setupMapView (MapActivity.java:400) E / AndroidRuntime (597): en com.google.android.maps.MapView. (MapView.java:289) E / AndroidRuntime (597): en com.google.android.maps.MapView. (MapView.java:264) E / AndroidRuntime (597): en com.google.android.maps.MapView. (MapView.java:247)
Mi segunda idea fue crear MapView mediante programación y pasar la actividad asociada (a través de getActivity ()) como Contexto al constructor MapView. No funciona:
E / AndroidRuntime (834): Causado por: java.lang.IllegalArgumentException: MapViews solo se puede crear dentro de instancias de MapActivity. E / AndroidRuntime (834): en com.google.android.maps.MapView. (MapView.java:291) E / AndroidRuntime (834): en com.google.android.maps.MapView. (MapView.java:235) E / AndroidRuntime (834): en de.foo.FinderMapFragment.onCreateView (FinderMapFragment.java:225) E / AndroidRuntime (834): en android.app.FragmentManagerImpl.moveToState (FragmentManager.java:708) E / AndroidRuntime (834): en android.app.FragmentManagerImpl.moveToState (FragmentManager.java:900) E / AndroidRuntime (834): en android.app.FragmentManagerImpl.addFragment (FragmentManager.java:978) E / AndroidRuntime (834): en android.app.Activity.onCreateView (Activity.java:4090) E / AndroidRuntime (834): en android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:664)
Realmente debería haber algo como MapFragment que se encargue de los subprocesos de fondo que necesita MapView, supongo ... Entonces, ¿cuál es la mejor práctica actual para hacer esto?
Gracias y saludos desde Alemania, Valentin