plotting map based on user input on df

The main question is if you desire your map to be static, or interactive.

For a static use case I recommend ggplot2::geom_sf(), for a dynamic use case {leaflet}. You may also consider {tmap} which handles both with very little code required.

For an overview of mapping packages consider this Best packages for making map? leaflet vs ggmap vs sf vs ...?