Задать вопрос
Ответы пользователя по тегу Android
  • Как переиспользовать Google MapFragment?

    @pengrad Автор вопроса
    Вместо MapFragment можно использовать MapView.

    private MapView mapView;
    
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        super.onCreateView(inflater, container, savedInstanceState);
        View view = inflater.inflate(R.layout.fragment_map, container, false);
        
        boolean needSetupMap = true;
        if (mapView != null) {        
            ViewGroup parentViewGroup = (ViewGroup) mapView.getParent();
            if (parentViewGroup != null) {
                parentViewGroup.removeView(mapView);
                needSetupMap = false;
            }
        } else {
            mapView = new MapView(getActivity());
            mapView.onCreate(Bundle.EMPTY);
        }  
        
        ((ViewGroup)view.findViewById(R.id.container)).addView(mapView);
    
        if (needSetupMap) {
            mapView.getExtendedMapAsync(new OnMapReadyCallback() {
                public void onMapReady(GoogleMap googleMap) {
                    setUpMap(GoogleMap);
                }
            });
        }
    }
    Ответ написан
    Комментировать