From 8d945d6dd4b96df94bb92546de7d5d69ee430f97 Mon Sep 17 00:00:00 2001 From: Rafael Teixeira Date: Thu, 13 Nov 2025 22:55:59 +0000 Subject: [PATCH 1/4] Real-time location on the map --- .../android/app/src/main/AndroidManifest.xml | 2 + packages/uni_app/lib/view/map/map.dart | 2 + packages/uni_app/pubspec.yaml | 1 + .../windows/flutter/generated_plugins.cmake | 1 + pubspec.lock | 112 ++++++++++++++++-- 5 files changed, 110 insertions(+), 8 deletions(-) diff --git a/packages/uni_app/android/app/src/main/AndroidManifest.xml b/packages/uni_app/android/app/src/main/AndroidManifest.xml index 618033b6e..1eb7607e9 100644 --- a/packages/uni_app/android/app/src/main/AndroidManifest.xml +++ b/packages/uni_app/android/app/src/main/AndroidManifest.xml @@ -85,5 +85,7 @@ + + diff --git a/packages/uni_app/lib/view/map/map.dart b/packages/uni_app/lib/view/map/map.dart index 5bb598369..d4b4ebb7b 100644 --- a/packages/uni_app/lib/view/map/map.dart +++ b/packages/uni_app/lib/view/map/map.dart @@ -2,6 +2,7 @@ import 'package:diacritic/diacritic.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_map/flutter_map.dart'; +import 'package:flutter_map_location_marker/flutter_map_location_marker.dart'; import 'package:flutter_map_marker_popup/flutter_map_marker_popup.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -225,6 +226,7 @@ class MapPageStateView extends ConsumerState { ), ), ), + const CurrentLocationLayer(), ], ), ), diff --git a/packages/uni_app/pubspec.yaml b/packages/uni_app/pubspec.yaml index 3a9d5e5ec..aa7521384 100644 --- a/packages/uni_app/pubspec.yaml +++ b/packages/uni_app/pubspec.yaml @@ -42,6 +42,7 @@ dependencies: flutter_localizations: sdk: flutter flutter_map: ^8.2.2 + flutter_map_location_marker: ^10.1.0 flutter_map_marker_popup: ^8.1.0 flutter_markdown: ^0.7.7+1 flutter_native_splash: ^2.4.6 diff --git a/packages/uni_app/windows/flutter/generated_plugins.cmake b/packages/uni_app/windows/flutter/generated_plugins.cmake index ef31d9dc3..4759e65c3 100644 --- a/packages/uni_app/windows/flutter/generated_plugins.cmake +++ b/packages/uni_app/windows/flutter/generated_plugins.cmake @@ -8,6 +8,7 @@ list(APPEND FLUTTER_PLUGIN_LIST connectivity_plus file_selector_windows flutter_secure_storage_windows + geolocator_windows objectbox_flutter_libs sentry_flutter url_launcher_windows diff --git a/pubspec.lock b/pubspec.lock index 337baa0bd..8c27781ea 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -636,6 +636,14 @@ packages: url: "https://pub.dev" source: hosted version: "8.2.2" + flutter_map_location_marker: + dependency: transitive + description: + name: flutter_map_location_marker + sha256: "474695ec9052c17e307bdef98b66be2c183324f956efad24d86ad34a71942e4d" + url: "https://pub.dev" + source: hosted + version: "10.1.0" flutter_map_marker_popup: dependency: transitive description: @@ -676,6 +684,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.3" + flutter_rotation_sensor: + dependency: transitive + description: + name: flutter_rotation_sensor + sha256: "7944dbadf3d05be128a81cb0f37b2ba2b53247fef22b85f8096c60b06c1e50a4" + url: "https://pub.dev" + source: hosted + version: "0.1.1" flutter_secure_storage: dependency: transitive description: @@ -766,6 +782,70 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.0" + geoclue: + dependency: transitive + description: + name: geoclue + sha256: c2a998c77474fc57aa00c6baa2928e58f4b267649057a1c76738656e9dbd2a7f + url: "https://pub.dev" + source: hosted + version: "0.1.1" + geolocator: + dependency: transitive + description: + name: geolocator + sha256: "79939537046c9025be47ec645f35c8090ecadb6fe98eba146a0d25e8c1357516" + url: "https://pub.dev" + source: hosted + version: "14.0.2" + geolocator_android: + dependency: transitive + description: + name: geolocator_android + sha256: "179c3cb66dfa674fc9ccbf2be872a02658724d1c067634e2c427cf6df7df901a" + url: "https://pub.dev" + source: hosted + version: "5.0.2" + geolocator_apple: + dependency: transitive + description: + name: geolocator_apple + sha256: dbdd8789d5aaf14cf69f74d4925ad1336b4433a6efdf2fce91e8955dc921bf22 + url: "https://pub.dev" + source: hosted + version: "2.3.13" + geolocator_linux: + dependency: transitive + description: + name: geolocator_linux + sha256: c4e966f0a7a87e70049eac7a2617f9e16fd4c585a26e4330bdfc3a71e6a721f3 + url: "https://pub.dev" + source: hosted + version: "0.2.3" + geolocator_platform_interface: + dependency: transitive + description: + name: geolocator_platform_interface + sha256: "30cb64f0b9adcc0fb36f628b4ebf4f731a2961a0ebd849f4b56200205056fe67" + url: "https://pub.dev" + source: hosted + version: "4.2.6" + geolocator_web: + dependency: transitive + description: + name: geolocator_web + sha256: b1ae9bdfd90f861fde8fd4f209c37b953d65e92823cb73c7dee1fa021b06f172 + url: "https://pub.dev" + source: hosted + version: "4.1.3" + geolocator_windows: + dependency: transitive + description: + name: geolocator_windows + sha256: "175435404d20278ffd220de83c2ca293b73db95eafbdc8131fe8609be1421eb6" + url: "https://pub.dev" + source: hosted + version: "0.2.5" glob: dependency: transitive description: @@ -782,6 +862,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.2" + gsettings: + dependency: transitive + description: + name: gsettings + sha256: "1b0ce661f5436d2db1e51f3c4295a49849f03d304003a7ba177d01e3a858249c" + url: "https://pub.dev" + source: hosted + version: "0.2.8" gtk: dependency: transitive description: @@ -1058,10 +1146,10 @@ packages: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mgrs_dart: dependency: transitive description: @@ -1086,6 +1174,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.5.0" + native_device_orientation: + dependency: transitive + description: + name: native_device_orientation + sha256: bc0bcccc79752048d2235c10545c5fd554a46035fe0a4a4534d1bb9d8bc85e6c + url: "https://pub.dev" + source: hosted + version: "2.0.4" nested: dependency: transitive description: @@ -1744,26 +1840,26 @@ packages: dependency: transitive description: name: test - sha256: "65e29d831719be0591f7b3b1a32a3cda258ec98c58c7b25f7b84241bc31215bb" + sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7" url: "https://pub.dev" source: hosted - version: "1.26.2" + version: "1.26.3" test_api: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.7" test_core: dependency: transitive description: name: test_core - sha256: "80bf5a02b60af04b09e14f6fe68b921aad119493e26e490deaca5993fef1b05a" + sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0" url: "https://pub.dev" source: hosted - version: "0.6.11" + version: "0.6.12" timelines: dependency: transitive description: From 496f70f8f506ddd8261a58ddce5600f6f33de60a Mon Sep 17 00:00:00 2001 From: Rafael Teixeira Date: Sun, 23 Nov 2025 23:26:43 +0000 Subject: [PATCH 2/4] New colors on the user location icon --- packages/uni_app/lib/view/map/map.dart | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/uni_app/lib/view/map/map.dart b/packages/uni_app/lib/view/map/map.dart index d4b4ebb7b..caede2044 100644 --- a/packages/uni_app/lib/view/map/map.dart +++ b/packages/uni_app/lib/view/map/map.dart @@ -226,7 +226,17 @@ class MapPageStateView extends ConsumerState { ), ), ), - const CurrentLocationLayer(), + CurrentLocationLayer( + style: LocationMarkerStyle( + marker: DefaultLocationMarker( + color: Theme.of(context).colorScheme.primary, + ), + showAccuracyCircle: false, + headingSectorColor: Theme.of( + context, + ).colorScheme.primary.withValues(alpha: 0.35), + ), + ), ], ), ), From 560cc53b517698f6be7a2c2651adb10d57abff38 Mon Sep 17 00:00:00 2001 From: Rafael Teixeira Date: Mon, 24 Nov 2025 20:00:03 +0000 Subject: [PATCH 3/4] Tiny dumb mistake fix --- packages/uni_app/lib/view/map/map.dart | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/uni_app/lib/view/map/map.dart b/packages/uni_app/lib/view/map/map.dart index caede2044..242e3a62b 100644 --- a/packages/uni_app/lib/view/map/map.dart +++ b/packages/uni_app/lib/view/map/map.dart @@ -232,9 +232,7 @@ class MapPageStateView extends ConsumerState { color: Theme.of(context).colorScheme.primary, ), showAccuracyCircle: false, - headingSectorColor: Theme.of( - context, - ).colorScheme.primary.withValues(alpha: 0.35), + headingSectorColor: Theme.of(context).colorScheme.primary, ), ), ], From 8f3e3be7973e51540bb6c67523c31571529b6047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sim=C3=A3o=20Barbosa?= Date: Tue, 9 Dec 2025 22:31:33 +0000 Subject: [PATCH 4/4] added location permissions to info.plist also added some automatic changes to other ios files --- .../ios/Runner.xcodeproj/project.pbxproj | 4 -- packages/uni_app/ios/Runner/Info.plist | 2 + pubspec.lock | 44 +++++-------------- 3 files changed, 12 insertions(+), 38 deletions(-) diff --git a/packages/uni_app/ios/Runner.xcodeproj/project.pbxproj b/packages/uni_app/ios/Runner.xcodeproj/project.pbxproj index 3e6b8e122..aeba97fe8 100644 --- a/packages/uni_app/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/uni_app/ios/Runner.xcodeproj/project.pbxproj @@ -359,14 +359,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; diff --git a/packages/uni_app/ios/Runner/Info.plist b/packages/uni_app/ios/Runner/Info.plist index e3c79a662..09e037919 100644 --- a/packages/uni_app/ios/Runner/Info.plist +++ b/packages/uni_app/ios/Runner/Info.plist @@ -59,6 +59,8 @@ Exportar exames e eventos para o calendário NSPhotoLibraryUsageDescription Possibilidade de adicionar prints a um bug report + NSLocationWhenInUseUsageDescription + Mostrar a localização do utilizador no mapa da faculdade UIApplicationSceneManifest UISceneConfigurations diff --git a/pubspec.lock b/pubspec.lock index 493f8da32..85582eedb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -774,22 +774,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.0" - geoclue: - dependency: transitive - description: - name: geoclue - sha256: c2a998c77474fc57aa00c6baa2928e58f4b267649057a1c76738656e9dbd2a7f - url: "https://pub.dev" - source: hosted - version: "0.1.1" geolocator: dependency: transitive description: name: geolocator - sha256: "79939537046c9025be47ec645f35c8090ecadb6fe98eba146a0d25e8c1357516" + sha256: ee2212a3df8292ec4c90b91183b8001d3f5a800823c974b570c5f9344ca320dc url: "https://pub.dev" source: hosted - version: "14.0.2" + version: "14.0.1" geolocator_android: dependency: transitive description: @@ -806,14 +798,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.13" - geolocator_linux: - dependency: transitive - description: - name: geolocator_linux - sha256: c4e966f0a7a87e70049eac7a2617f9e16fd4c585a26e4330bdfc3a71e6a721f3 - url: "https://pub.dev" - source: hosted - version: "0.2.3" geolocator_platform_interface: dependency: transitive description: @@ -854,14 +838,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.2" - gsettings: - dependency: transitive - description: - name: gsettings - sha256: "1b0ce661f5436d2db1e51f3c4295a49849f03d304003a7ba177d01e3a858249c" - url: "https://pub.dev" - source: hosted - version: "0.2.8" gtk: dependency: transitive description: @@ -1174,14 +1150,6 @@ packages: url: "https://pub.dev" source: hosted version: "5.6.1" - native_toolchain_c: - dependency: transitive - description: - name: native_toolchain_c - sha256: "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac" - url: "https://pub.dev" - source: hosted - version: "5.5.0" native_device_orientation: dependency: transitive description: @@ -1190,6 +1158,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.4" + native_toolchain_c: + dependency: transitive + description: + name: native_toolchain_c + sha256: "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac" + url: "https://pub.dev" + source: hosted + version: "0.17.4" nested: dependency: transitive description: