Вы можете загрузить карту фрагментом, который не виден пользователю, пока пользователь не нажимает на указанную вами кнопку, и вы загружаете маркеры с помощью асинхронного потока. Возможно, случится так, что пользователь сделает процесс настолько быстрым, что маркеры не будут загружены, но карта будет.
Использование фрагментов лучше всего подходит для этого сценария, вы можете просмотреть конференцию ввода-вывода, чтобы асинхронно прояснить работу фрагментов:
Android Jetpack: как грамотно использовать фрагменты в вашем пользовательском интерфейсе (Google I / O '18): https://www.youtube.com/watch?v=WVPH48lUzGY&frags=pl%2Cwn