Geolocation, Reverse geolocation and map

Hi. I am fairly new to Ionic. Developing with latest Ionic v5. I need few things to get my app started. Here is the scenario: I have the lat long data.

  1. I want to show the address from that lat long and also show that location selected by a marker on a map.
  2. Upon click on edit user can edit location and as user selects from possible suggestions I need the lat long of that selected new location.
  3. And not the least user can also move the marker to set a location and obviously I want to have that lat long.

Google geolocation is paid. It’s a non-profitable app. So what is the best solution for this scenario?