title: When can you call GoogleMap.moveCamera after onMapReady from OnMapReadyCallback?
body: <p>The current Android Google Maps API requires you call <code>mapFragment.getMapAsync</code> with a <code>OnMapReadyCallback</code> before you can access the <code>GoogleMap</code>. I assumed that once you had the <code>GoogleMap</code> it would then be safe to call <code>moveCamera()</code> but I was seeing crash reports with an <code>IllegalStateException</code> which said <code>Map size can't be 0. Most likely, layout has not yet occured for the map view</code>.</p>
  
  <p>So I tried adding a <code>ViewTreeObserver.OnPreDrawListener</code>, and moving the <code>moveCamera()</code> call to the <code>onPreDraw</code> method, as the docs for that say "At this point, all views in the tree have been measured and given a frame". But I <em>still</em> see some crash reports with the same problem. I can't find any documentation for this — there's questions like <a href="https://stackoverflow.com/questions/13692579/movecamera-with-cameraupdatefactory-newlatlngbounds-crashes">moveCamera with CameraUpdateFactory.newLatLngBounds crashes</a> but they pre-date the <code>getMapAsync</code> API, so they're not much help.</p>