sein Ich habe eine MapFragment
, die eine Karte zeigtIllegalkartengröße sollte nicht 0
, wenn der Benutzer geht aus der Tätigkeit entfernt (oder das Gerät einschläft) mit der Karte kommt dann zurück onResume
aufgerufen wird und ich bewegen die Karte zurück zu einem Marker.
jedoch, wenn ich die Kamera bewegen, erhalte ich eine Ausnahme
07-23 16:28:42.725: E/AndroidRuntime(19095): java.lang.RuntimeException: Unable to resume activity {ecm2.android/ecm2.android.EMGNoteMapActivity}: java.lang.IllegalStateException: Map size should not be 0. Most likely, layout has not yet occured for the map view.
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.access$600(ActivityThread.java:141)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.os.Handler.dispatchMessage(Handler.java:99)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.os.Looper.loop(Looper.java:137)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.main(ActivityThread.java:5041)
07-23 16:28:42.725: E/AndroidRuntime(19095): at java.lang.reflect.Method.invokeNative(Native Method)
07-23 16:28:42.725: E/AndroidRuntime(19095): at java.lang.reflect.Method.invoke(Method.java:511)
07-23 16:28:42.725: E/AndroidRuntime(19095): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-23 16:28:42.725: E/AndroidRuntime(19095): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-23 16:28:42.725: E/AndroidRuntime(19095): at dalvik.system.NativeStart.main(Native Method)
07-23 16:28:42.725: E/AndroidRuntime(19095): Caused by: java.lang.IllegalStateException: Map size should not be 0. Most likely, layout has not yet occured for the map view.
07-23 16:28:42.725: E/AndroidRuntime(19095): at maps.as.i.b(Unknown Source)
07-23 16:28:42.725: E/AndroidRuntime(19095): at maps.ah.w.a(Unknown Source)
07-23 16:28:42.725: E/AndroidRuntime(19095): at maps.ah.s.a(Unknown Source)
07-23 16:28:42.725: E/AndroidRuntime(19095): at maps.ah.an.b(Unknown Source)
07-23 16:28:42.725: E/AndroidRuntime(19095): at bgc.onTransact(SourceFile:92)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.os.Binder.transact(Binder.java:310)
07-23 16:28:42.725: E/AndroidRuntime(19095): at com.google.android.gms.maps.internal.IGoogleMapDelegate$a$a.animateCamera(Unknown Source)
07-23 16:28:42.725: E/AndroidRuntime(19095): at com.google.android.gms.maps.GoogleMap.animateCamera(Unknown Source)
07-23 16:28:42.725: E/AndroidRuntime(19095): at ecm2.android.Fragments.EMGMap.centerOnNote(EMGMap.java:340)
07-23 16:28:42.725: E/AndroidRuntime(19095): at ecm2.android.Fragments.EMGMap.fetchMapSettings(EMGMap.java:283)
07-23 16:28:42.725: E/AndroidRuntime(19095): at ecm2.android.Fragments.EMGMap.onResume(EMGMap.java:289)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:917)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:1820)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:412)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.Activity.performResume(Activity.java:5195)
07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)
07-23 16:28:42.725: E/AndroidRuntime(19095): ... 12 more
Diese auf meine Kamerabewegung ist mein onResume
if(map != null && northEast != null && southWest != null){
map.animateCamera(CameraUpdateFactory.newLatLngBounds(new LatLngBounds(southWest,northEast),10));
}else if(map != null && centerPoint != null){
CameraPosition position = new CameraPosition.Builder()
.target(centerPoint).zoom(17).build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(position));
}
Wenn ich die Kamerabewegung nehmen es nicht abstürzt, aber nicht Geh zurück zu dem Punkt, von dem sie sich wegbewegten oder so.
Ich überprüfe, um sicherzustellen, dass map
nicht null ist, also weiß ich nicht, was den Fehler verursacht?
Siehe diese Antwort: http://Stackoverflow.com/a/13692908/937715 –
Wie vorherige Antwort vorgeschlagen, schlug ich vor [diese] [1]. [1]: http://stackoverflow.com/a/17825157/1755300 – unmultimedio