feat: Add support for offline vector maps using MBTiles

- Introduced new MapLayerType for vector MBTiles.
- Enhanced MapLayer class to handle vector-specific properties.
- Implemented MBTilesService for managing MBTiles files, including import and deletion functionalities.
- Updated MapManagementScreen to allow importing and managing MBTiles files.
- Added UI components for displaying and interacting with MBTiles layers.
- Integrated vector tile rendering in MapTab, supporting dynamic theme loading.
- Updated pubspec.yaml to include necessary dependencies for MBTiles and vector tiles.
This commit is contained in:
Janez T
2025-10-16 23:35:43 +02:00
parent 7f20e5ad36
commit 3a0bcabdea
26 changed files with 2042 additions and 74 deletions

View File

@@ -145,6 +145,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "7.0.3"
executor_lib:
dependency: transitive
description:
name: executor_lib
sha256: "95ddf2957d9942d9702855b38dd49677f0ee6a8b77d7b16c0e509c7669d17386"
url: "https://pub.dev"
source: hosted
version: "1.1.2"
fake_async:
dependency: transitive
description:
@@ -169,6 +177,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "7.0.1"
file_picker:
dependency: "direct main"
description:
name: file_picker
sha256: ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810
url: "https://pub.dev"
source: hosted
version: "8.3.7"
fixnum:
dependency: transitive
description:
@@ -339,6 +355,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "10.1.1"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687"
url: "https://pub.dev"
source: hosted
version: "2.0.32"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -422,7 +446,7 @@ packages:
source: hosted
version: "0.2.8"
http:
dependency: transitive
dependency: "direct main"
description:
name: http
sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
@@ -437,6 +461,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.1.2"
idb_shim:
dependency: transitive
description:
name: idb_shim
sha256: ee391deb010143823d25db15f8b002945e19dcb5f2dd5b696a98cb6db7644012
url: "https://pub.dev"
source: hosted
version: "2.6.7"
image:
dependency: transitive
description:
@@ -533,6 +565,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.11.1"
mbtiles:
dependency: "direct main"
description:
name: mbtiles
sha256: "316af1f8db8ce95888ca70f5dd3f6914906b4e17ceeca8501206d28e78612af8"
url: "https://pub.dev"
source: hosted
version: "0.4.2"
meta:
dependency: transitive
description:
@@ -741,6 +781,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.0"
protobuf:
dependency: transitive
description:
name: protobuf
sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d"
url: "https://pub.dev"
source: hosted
version: "3.1.0"
provider:
dependency: "direct main"
description:
@@ -757,6 +805,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.28.0"
sembast:
dependency: transitive
description:
name: sembast
sha256: "7119cf6f79bd1d48c8ec7943f4facd96c15ab26823021ed0792a487c7cd34441"
url: "https://pub.dev"
source: hosted
version: "3.8.5+1"
share_plus:
dependency: "direct main"
description:
@@ -850,6 +906,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "7.0.0"
sqlite3:
dependency: transitive
description:
name: sqlite3
sha256: f18fd9a72d7a1ad2920db61368f2a69368f1cc9b56b8233e9d83b47b0a8435aa
url: "https://pub.dev"
source: hosted
version: "2.9.3"
stack_trace:
dependency: transitive
description:
@@ -874,6 +938,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.1"
synchronized:
dependency: transitive
description:
name: synchronized
sha256: c254ade258ec8282947a0acbbc90b9575b4f19673533ee46f2f6e9b3aeefd7c0
url: "https://pub.dev"
source: hosted
version: "3.4.0"
term_glyph:
dependency: transitive
description:
@@ -954,6 +1026,23 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.5.1"
vector_map_tiles:
dependency: "direct main"
description:
name: vector_map_tiles
sha256: e35f090c428f05e44dd525fa4fedaafd1dbcd28b656cb0ea908528c6ce84a87d
url: "https://pub.dev"
source: hosted
version: "9.0.0-beta.8"
vector_map_tiles_mbtiles:
dependency: "direct main"
description:
path: vector_map_tiles_mbtiles
ref: HEAD
resolved-ref: "9f1b1472336382b30f9fdfec7e325e051e82fb5d"
url: "https://github.com/josxha/flutter_map_plugins.git"
source: git
version: "1.2.1"
vector_math:
dependency: transitive
description:
@@ -962,6 +1051,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.2.0"
vector_tile:
dependency: transitive
description:
name: vector_tile
sha256: "7ae290246e3a8734422672dbe791d3f7b8ab631734489fc6d405f1cc2080e38c"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
vector_tile_dem:
dependency: transitive
description:
name: vector_tile_dem
sha256: "81a3568d2213817bd2698f919357e5107c0261491ae1014e821ed4fc3c2bf740"
url: "https://pub.dev"
source: hosted
version: "0.0.2"
vector_tile_renderer:
dependency: "direct main"
description:
name: vector_tile_renderer
sha256: "99530edb073c1cea3c6a4bdb5ca9a5c6779c25ddf1a645678458504708dc221c"
url: "https://pub.dev"
source: hosted
version: "6.0.0"
vibration:
dependency: "direct main"
description: