Creating regions is designed to be easy for the user and you (the developer).
The Example Application contains a great way you might want to allow your users to choose a region to download, and it shows how to use Provider to share a created region and the number of approximate tiles it has to a download screen.
Types Of Region
All regions (before conversion to DownloadableRegion) implement BaseRegion.
The most basic type of region, defined by two North West and South East coordinates that create a LatLngBounds.
final region =RectangleRegion(
LatLng(),// North West
LatLng(),// South East
Skewed parallelograms (rectangles with a 3rd control point) or rotated rectangles are not currently supported
A more advanced type of region, defined by a center coordinate and radius (in kilometers).