2012-12-10 23 views
6

Zaktualizowałem aplikację RawMapViewDemoActivity.java w aplikacji Google Maps v2 na Androida, aby programowo utworzyć MapView, ale mapa nie jest wyświetlana. Po prostu mam pusty ekran.Programowany Android MapView v2 nie jest wyświetlany

Wymieniłem

mMapView = (MapView) findViewById(R.id.map); 

z

GoogleMapOptions options = new GoogleMapOptions(); 
    options.camera(new CameraPosition(new LatLng(0, 0), 15, 0, 0));   
    mMapView = new MapView(this, options); 
    mMapView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));   

Co robię źle?

+1

Jakieś błędy są rejestrowane w dowolnym miejscu? – Ren

Odpowiedz

2

Czy przekazałeś wszystkie metody livecycle do nowego MapView?

mMapView.onCreate(savedInstanceState); 

Spójrz Pod API Reference

+0

Greeny, dzięki za odpowiedź. Tak, użyłem źródła z przykładowej aplikacji, która przekazuje wszystkie metody livecycle. Myślę, że może to być prosty problem z układem. Będę dalej kopać. – whenrybruce

+0

Czy dodałeś MapView do układu po utworzeniu go za pomocą 'mMapView = new MapView (this, options);'? Wypróbuj 'setContentView (mMapView)' – Greeny

+0

Dzięki temu zysk Greeny, ale to się nie udało. Zobacz moją odpowiedź, aby uzyskać więcej informacji. – whenrybruce

1

Niestety - Naprawiłem to jakiś czas temu, ale zapomniałem pisać odpowiedź.

Wygląda na to, że MapView musi zostać umieszczony w pojemniku układu, zanim zostanie poprawnie wyświetlony. Poniższy fragment pokazuje, co zrobiłem, aby wykonać próbkę.

LinearLayout linearLayout = new LinearLayout(this); 
GoogleMapOptions options = new GoogleMapOptions(); 
options.camera(new CameraPosition(new LatLng(0, 0), 1, 0, 0));   
mMapView = new MapView(this, options); 
linearLayout.addView(mMapView); 
setContentView(linearLayout);   
Powiązane problemy