В текущем API Google Maps для Google вы должны позвонить mapFragment.getMapAsync
с помощью OnMapReadyCallback
, прежде чем вы сможете получить доступ к GoogleMap
. Я предположил, что если у вас есть GoogleMap
, тогда было бы безопасно вызвать moveCamera()
, но я видел отчеты о сбоях с IllegalStateException
, который сказал Map size can't be 0. Most likely, layout has not yet occured for the map view
.
Итак, я попробовал добавить ViewTreeObserver.OnPreDrawListener
и переместить вызов moveCamera()
на метод onPreDraw
, так как документы для этого говорят "В этот момент все представления в дереве были измерены и заданы рамкой", Но я все еще вижу некоторые отчеты о сбоях с той же проблемой. Я не могу найти документацию для этого - есть вопросы, такие как moveCamera с CameraUpdateFactory.newLatLngBounds сбой, но они предписывают API getMapAsync
, поэтому их не так много помощь.