1️⃣Create A Region
Regions (BaseRegions) are geographical areas that do not yet have any of the necessary extra information to start a download (this is the responsibility ofDownloadableRegion).
There are 4 types of BaseRegion:
RectangleRegions are defined by a LatLngBounds: two opposite LatLngs.
final region = RectangleRegion(
LatLngBounds(LatLng(0, 0), LatLng(1, 1)),
);CircleRegions are defined by a center LatLng and radius in kilometers.
final region = CircleRegion(
LatLng(0, 0), // Center coordinate
1, // Radius in kilometers
);If you instead have two coordinates, one in the center, and one on the edge, you can use 'latlong2's Distance.distance() method, as below:
final centerCoordinate = LatLng(0, 0); // Center coordinate
final region = CircleRegion(
centerCoordinate,
const Distance(roundResult: false).distance(
centerCoordinate,
LatLng(1, 1), // Edge coordinate
) / 1000; // Convert to kilometers
);LineRegions are defined by a list of LatLngs, and a radius in meters.
This could be used to download tiles along a planned travel route, for example hiking or long-distance driving. Import coordinates from a routing engine, or from a GPX/KML file for maximum integration!
final region = LineRegion(
[LatLng(0, 0), LatLng(1, 1), ...], // List of coordinates
1000, // Radius in meters
);This region may generate more tiles than strictly necessary to cover the specified region. This is due to an internal limitation with the region generation algorithm, which uses rectangles to approximate the actual desired shape.
This type of region may consume more memory/RAM when generating tiles than other region types.
CustomPolygonRegions are defined by a list of LatLngs defining the outline of a simple polygon.
final region = CustomPolygonRegion(
[LatLng(0, 0), LatLng(1, 1), ...], // List of coordinates
);Polygons should not contain self-intersections. These may produce unexpected results.
Holes are not supported.
RecoverableRegions aren't technically the same type of region as the others, and is the odd one out.
However, it can be converted to a downloadable region in the same way as the others, or the original BaseRegion extracted using toRegion.
For more info, see Recovery.
Last updated
Was this helpful?