Не помню как там работает... Но на вскидку.
Пусть фрагмент сам не принимает решения о необходимости поиска. Пусть решение принимает VM.
Фрагмент при старте читает найденную точку из VM
если ее нет - делает поиск, получает точку
Сообщает в VM найденную точку, а VM ее запоминает
Фрагмент показывает точку
После пересоздания:
Фрагмент обращается в VM
Получает запомненную точку
Отображает точку
А что у тебя за поиск? Его бы тоже по-хорошему в VM вынести
mapView = view.findViewById(R.id.document_mapView);
mapView.getMap().addCameraListener(this);
searchSession = searchManager.submit(
query,
VisibleRegionUtils.toPolygon(mapView.getMap().getVisibleRegion()),
new SearchOptions(),
this);