2013-08-08 13 views
6

Od kilku dni badam ten problem i wypróbowałem wszystko, co oferuje SO bez powodzenia.Google Maps V2 Android działa jak fragment, ale pokazuje biały ekran (z kontrolą zoomu) jako fragment podrzędny

Kiedy postępuję zgodnie z instrukcjami określonymi przez Google here, nie mam problemów z wyświetleniem ogólnej mapy Google w niestandardowym fragmencie mapy (QMapFragment), który rozszerza SupportMapFragment pod moim FragmentActivity.

(Uwaga boczna: Nawet jeśli dostarczę fałszywy klucz API, np. "Abcd", w pliku Manifest.xml mapa jest nadal wyświetlana poprawnie, ale jestem zdezorientowany, ale w każdym razie ...)

Ale kiedy dodać QMapFragment jako fragment dziecko do innego niestandardowego fragment, na przykład, za pomocą następującego kodu:

mFrag = QMapFragment.newInstance(new LatLng(location.getLatitude(), location.getLongitude())); 
FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); 

transaction.add(R.id.framelayout, mFrag).commit(); 

widzę pusty ekran ze sterowaniem zoom dodawanych do fragmentu, a ja się tym w LogCat

08-08 13:44:25.914: W/dalvikvm(7057): VFY: unable to resolve instance field 30 
08-08 13:44:25.914: D/dalvikvm(7057): VFY: replacing opcode 0x52 at 0x0012 
08-08 13:44:25.914: D/dalvikvm(7057): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z 
08-08 13:44:26.000: I/dalvikvm(7057): Total arena pages for JIT: 11 
08-08 13:44:26.180: W/dalvikvm(7057): Unable to resolve superclass of Lmaps/p/w; (734) 
08-08 13:44:26.180: W/dalvikvm(7057): Link of class 'Lmaps/p/w;' failed 
08-08 13:44:26.180: W/dalvikvm(7057): Unable to resolve superclass of Lmaps/ap/as; (6056) 
08-08 13:44:26.180: W/dalvikvm(7057): Link of class 'Lmaps/ap/as;' failed 
08-08 13:44:26.180: W/dalvikvm(7057): Unable to resolve superclass of Lmaps/af/k; (5085) 
08-08 13:44:26.180: W/dalvikvm(7057): Link of class 'Lmaps/af/k;' failed 
08-08 13:44:26.187: E/dalvikvm(7057): Could not find class 'maps.af.k', referenced from method maps.ag.an.a 
08-08 13:44:26.187: W/dalvikvm(7057): VFY: unable to resolve new-instance 4928 (Lmaps/af/k;) in Lmaps/ag/an; 

Screenshot of properties

I nie, nie otrzymuję "autoryzacji" z debuggera, a moja konsola jest ustawiona na Google Android v2 w Google API.

+1

To bardzo dziwne. Jeśli możesz utworzyć powtarzalny przypadek testowy, możesz rozważyć zgłoszenie problemu na stronie http://code.google.com/p/gmaps-api-issues/issues/list. Pamiętaj też, że Twój projekt nie wymaga interfejsów API Google - to dotyczy Maps V1. – CommonsWare

+0

Zawsze należy całkowicie odinstalować i ponownie zainstalować aplikację, jeśli napotkasz na tego typu problemy. Zauważyłem również, że buforowanie klucza API w określonych warunkach. Nieprawidłowe klucze interfejsu API powodujące, że mapa jest wyświetlana poprawnie, a poprawne klucze interfejsu API powodują, że mapa nie jest wyświetlana: http://www.youtube.com/watch?v=rtWWt2blDTg&feature=c4-overview&list=UU5IDcgLgmrgRhAoTsPk7KpQ – ddewaele

+0

Co się stanie, jeśli zastąp 'QMapFragment.newInstance (...)' z 'SupportMapFragment.newInstance()'? –

Odpowiedz

0

Pamiętam, że miałem ten sam problem podczas korzystania z transaction.add. Odtąd jedna z moich podstawowych zasad polegała na tym, aby nigdy nie używać user transaction.add i zamiast tego używać transaction.replace. Spróbuj, powinno działać.

+0

Próbowałem już użyć zamiast tego zamiany. To samo zachowanie wystąpiło. W rzeczywistości oryginalny fragment wciąż był wyświetlany pomimo zamiany. Od tamtej pory przestałem próbować dołączać pełne mapy Google i skorzystałem z [Google statycznego interfejsu API mapy] (https://developers.google.com/maps/documentation/staticmaps/) –

Powiązane problemy