From 3310bd572e0aa2f7e71f553470a53f26b2fb638c Mon Sep 17 00:00:00 2001 From: Valentin CZERYBA Date: Mon, 1 Sep 2025 22:14:08 +0200 Subject: [PATCH] fix mapbox pages --- covas_mobile_new/images/flutter.png | Bin 0 -> 46481 bytes covas_mobile_new/images/marker-red.png | Bin 0 -> 37200 bytes covas_mobile_new/images/marker.png | Bin 0 -> 11120 bytes covas_mobile_new/images/search.png | Bin 0 -> 18266 bytes covas_mobile_new/lib/pages/MapboxPages.dart | 430 +++++--------------- 5 files changed, 104 insertions(+), 326 deletions(-) create mode 100644 covas_mobile_new/images/flutter.png create mode 100644 covas_mobile_new/images/marker-red.png create mode 100644 covas_mobile_new/images/marker.png create mode 100644 covas_mobile_new/images/search.png diff --git a/covas_mobile_new/images/flutter.png b/covas_mobile_new/images/flutter.png new file mode 100644 index 0000000000000000000000000000000000000000..e02f15336c0f624751dcd02a84770bb2d42de27f GIT binary patch literal 46481 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 k-+HI>?>na9T~s#&fik=5C{Gj6y4AL0z?V*mgE literal 0 HcmV?d00001 diff --git a/covas_mobile_new/images/search.png b/covas_mobile_new/images/search.png new file mode 100644 index 0000000000000000000000000000000000000000..9454673d0b6e090e4b9d0cdd598a591c1e9334a0 GIT binary patch literal 18266 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 YHR=JUF!u!bW)945x8ttd9qv*855h*y*#H0l literal 0 HcmV?d00001 diff --git a/covas_mobile_new/lib/pages/MapboxPages.dart b/covas_mobile_new/lib/pages/MapboxPages.dart index a345fcc..75a8c1e 100644 --- a/covas_mobile_new/lib/pages/MapboxPages.dart +++ b/covas_mobile_new/lib/pages/MapboxPages.dart @@ -1,14 +1,15 @@ import 'dart:convert'; import 'dart:io'; +import 'dart:typed_data'; import 'package:flutter/material.dart'; -import 'package:flutter_dotenv/flutter_dotenv.dart'; // For environment variables -import 'package:flutter/services.dart'; // For loading assets +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:flutter/services.dart'; import 'package:http/http.dart' as http; -import 'package:mapbox_gl/mapbox_gl.dart'; +import 'package:mapbox_maps_flutter/mapbox_maps_flutter.dart' as mapbox; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:geolocator/geolocator.dart'; // For getting the user's location +import 'package:geolocator/geolocator.dart' as geo; -import '../classes/alert.dart'; // Assuming this contains your error dialog code. +import '../classes/alert.dart'; import '../variable/globals.dart' as globals; import '../classes/MyDrawer.dart'; import '../classes/auth_service.dart'; @@ -16,10 +17,15 @@ import '../classes/auth_service.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:covas_mobile/gen_l10n/app_localizations.dart'; import 'package:provider/provider.dart'; -import '../locale_provider.dart'; // +import '../locale_provider.dart'; void main() async { - await dotenv.load(fileName: ".env"); // Load .env file + WidgetsFlutterBinding.ensureInitialized(); + await dotenv.load(fileName: ".env"); + + // Set the access token globally + mapbox.MapboxOptions.setAccessToken(dotenv.env['MAPBOX_ACCESS_TOKEN'] ?? ''); + runApp(const MyApp()); } @@ -30,9 +36,7 @@ class MyApp extends StatelessWidget { Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Directions Example', - theme: ThemeData( - primarySwatch: Colors.blue, - ), + theme: ThemeData(primarySwatch: Colors.blue), home: const MapboxPages(title: 'Event Location', place: "Flutter"), ); } @@ -52,36 +56,26 @@ class MapboxPages extends StatefulWidget { class _MapboxPagesState extends State with ShowAlertDialog { final AuthService _authService = AuthService(); - late MapboxMapController mapController; - late String mapboxAccessToken; - List routeCoordinates = []; - String selectedMode = 'driving'; + mapbox.MapboxMap? mapboxMap; + mapbox.PointAnnotationManager? pointAnnotationManager; + mapbox.PolylineAnnotationManager? polylineAnnotationManager; + double longitude = 0.0; double latitude = 0.0; bool isLoading = true; - late LatLng userPosition; + mapbox.Point? userPosition; bool isUserPositionInitialized = false; - Line? currentRouteLine; + + String selectedMode = 'driving'; + List> routeCoordinates = []; @override void initState() { super.initState(); _authService.checkTokenStatus(context); - _getUserLocation(); } - void _initToken() { - mapboxAccessToken = dotenv.env['MAPBOX_ACCESS_TOKEN'] ?? ''; - if (mapboxAccessToken.isEmpty) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.map_token ?? - "Map Access Token is not available."); - } - } - Future _getEventInfo() async { SharedPreferences prefs = await SharedPreferences.getInstance(); var accessToken = prefs.getString("access_token") ?? ""; @@ -96,119 +90,51 @@ class _MapboxPagesState extends State with ShowAlertDialog { latitude = events["latitude"]; longitude = events["longitude"]; - setState(() { - isLoading = false; - }); + setState(() => isLoading = false); } else { _handleErrorResponse(responseGet.statusCode); } } else { - showAlertDialog(context, AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.invalid_cache ?? "Invalid cache."); + showAlertDialog(context, "Error", "Invalid cache."); } } void _handleErrorResponse(int statusCode) { - final messages = { - 400: AppLocalizations.of(context)?.request_error ?? - "Poorly constructed query", - 406: AppLocalizations.of(context)?.incorrect_password ?? - "Incorrect password", - 404: AppLocalizations.of(context)?.unknown_user ?? "Unknown user", - 403: AppLocalizations.of(context)?.disabled_user ?? "Disabled user", - 410: AppLocalizations.of(context)?.invalid_token ?? "Invalid token", - 500: AppLocalizations.of(context)?.internal_error_server ?? - "Internal error server" - }; - - final errorMessage = messages[statusCode] ?? - AppLocalizations.of(context)?.unknown_error_auth ?? - "Unknown error auth"; - showAlertDialog( - context, AppLocalizations.of(context)?.error ?? "Error", errorMessage); + final errorMessage = "Error $statusCode fetching event"; + showAlertDialog(context, "Error", errorMessage); } Future _getUserLocation() async { try { - bool serviceEnabled = await Geolocator.isLocationServiceEnabled(); - if (!serviceEnabled) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.geo_disabled ?? - "Location services are disabled."); - return; + bool serviceEnabled = await geo.Geolocator.isLocationServiceEnabled(); + if (!serviceEnabled) return; + + geo.LocationPermission permission = + await geo.Geolocator.checkPermission(); + if (permission == geo.LocationPermission.denied) { + permission = await geo.Geolocator.requestPermission(); } - LocationPermission permission = await Geolocator.checkPermission(); - if (permission == LocationPermission.denied) { - permission = await Geolocator.requestPermission(); - if (permission == LocationPermission.denied) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.permission_denied ?? - "Location permissions are denied."); - return; - } - } + if (permission == geo.LocationPermission.deniedForever) return; + + geo.Position position = await geo.Geolocator.getCurrentPosition(); + setState(() { + userPosition = mapbox.Point( + coordinates: + mapbox.Position(position.latitude, position.longitude)); + isUserPositionInitialized = true; + }); - if (permission == LocationPermission.deniedForever) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.enable_permission ?? - "Location permissions are permanently denied. Enable them in settings."); - return; - } - const LocationSettings locationSettings = LocationSettings( - accuracy: LocationAccuracy.medium, timeLimit: Duration(seconds: 5)); - Position? position; - try { - position = await Geolocator.getCurrentPosition( - locationSettings: locationSettings); - } on LocationServiceDisabledException { - // Handle location services disabled - position = await Geolocator.getLastKnownPosition(); - if (position == null) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.no_last_position ?? - "No last known position available.."); - } - } catch (e) { - // Handle other errors - position = await Geolocator.getLastKnownPosition(); - if (position == null) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.no_last_position ?? - "No last known position available"); - } - } - if (position != null) { - setState(() { - userPosition = LatLng(position!.latitude, position!.longitude); - isUserPositionInitialized = true; - }); - } - _initToken(); _getEventInfo(); } catch (e) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.failed_location ?? - "Failed to get user location"); + showAlertDialog(context, "Error", "Failed to get location"); } } Future _fetchRoute( - LatLng origin, LatLng destination, String mode) async { + mapbox.Point origin, mapbox.Point destination, String mode) async { final url = Uri.parse( - 'https://api.mapbox.com/directions/v5/mapbox/$mode/${origin.longitude},${origin.latitude};${destination.longitude},${destination.latitude}?geometries=geojson&access_token=$mapboxAccessToken', + 'https://api.mapbox.com/directions/v5/mapbox/$mode/${origin.coordinates.lng},${origin.coordinates.lat};${destination.coordinates.lng},${destination.coordinates.lat}?geometries=geojson&access_token=${dotenv.env['MAPBOX_ACCESS_TOKEN']}', ); final response = await http.get(url); @@ -216,156 +142,63 @@ class _MapboxPagesState extends State with ShowAlertDialog { final data = jsonDecode(response.body); final geometry = data['routes'][0]['geometry']['coordinates']; setState(() { - routeCoordinates = geometry.map((coord) { - return LatLng(coord[1], coord[0]); - }).toList(); + routeCoordinates = (geometry as List) + .map>((coord) => [coord[0], coord[1]]) + .toList(); }); - } else { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.failed_fetch ?? - "Failed to fetch the route"); - } - } - - // Called when the map is created - void _onStyleLoaded() async { - // Log the map controller and coordinates - - // Check if the mapController is really initialized - if (mapController != null) { - try { - // Ensure the coordinates are valid - if (latitude != 0.0 && longitude != 0.0) { - // Load marker image as Uint8List - final userMarkerImage = await _loadMarkerImage('images/marker.png'); - - // Register the image with Mapbox - await mapController.addImage('event-marker', userMarkerImage); - - final symbolOptions = SymbolOptions( - geometry: LatLng(latitude, longitude), - iconImage: "event-marker", // Use the registered custom marker - iconSize: 0.4, // Optional: Adjust size - ); - - // Debugging symbol options - - // Add symbol to map - mapController!.addSymbol(symbolOptions); - } else { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.invalid_coordinates_symbol ?? - "Error: Invalid coordinates, cannot add symbol."); - } - } catch (e) { - // Handle any exception that occurs when adding the symbol - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.error_symbol ?? - "Error when adding symbol."); - } - } else { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.error_symbol ?? - "Error when adding symbol."); } } Future _drawRouteAndMarkers() async { - // Remove previous route line if it exists - if (currentRouteLine != null) { - await mapController.removeLine(currentRouteLine!); - currentRouteLine = null; - } - if (!isUserPositionInitialized) { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.position_not_init ?? - "User position is not yet initialized. Try again."); - return; - } + if (mapboxMap == null || !isUserPositionInitialized) return; - if (mapController != null && - userPosition != null && - latitude != 0.0 && - longitude != 0.0) { - final destination = LatLng(latitude, longitude); + // Managers + pointAnnotationManager ??= + await mapboxMap!.annotations.createPointAnnotationManager(); + polylineAnnotationManager ??= + await mapboxMap!.annotations.createPolylineAnnotationManager(); - // Register the custom images - // Add event marker + // Clear old annotations + await pointAnnotationManager!.deleteAll(); + await polylineAnnotationManager!.deleteAll(); - final eventMarkerImage = await _loadMarkerImage('images/marker-red.png'); + final destination = + mapbox.Point(coordinates: mapbox.Position(longitude, latitude)); - // Register the image with Mapbox - await mapController.addImage('user-marker', eventMarkerImage); - await mapController.addSymbol(SymbolOptions( - geometry: userPosition, - iconImage: 'user-marker', // Custom icon for event - iconSize: 0.2, + // Add user marker + final userIcon = await _loadMarkerImage('images/marker.png'); + await pointAnnotationManager!.create(mapbox.PointAnnotationOptions( + geometry: mapbox.Point( + coordinates: mapbox.Position( + userPosition!.coordinates.lng, userPosition!.coordinates.lat)), + image: userIcon, + iconSize: 0.4, + )); + + // Add event marker + final eventIcon = await _loadMarkerImage('images/marker-red.png'); + await pointAnnotationManager!.create(mapbox.PointAnnotationOptions( + geometry: mapbox.Point( + coordinates: mapbox.Position( + destination.coordinates.lng, destination.coordinates.lat)), + image: eventIcon, + iconSize: 0.4, + )); + + // Fetch and draw route + await _fetchRoute(userPosition!, destination, selectedMode); + if (routeCoordinates.isNotEmpty) { + await polylineAnnotationManager!.create(mapbox.PolylineAnnotationOptions( + geometry: mapbox.LineString( + coordinates: + routeCoordinates.map((c) => mapbox.Position(c[0], c[1])).toList(), + ), + lineColor: Colors.blue.value, + lineWidth: 4.0, )); - - // Fetch and draw route - await _fetchRoute(userPosition, destination, selectedMode); - - if (routeCoordinates.isNotEmpty) { - currentRouteLine = await mapController.addLine( - LineOptions( - geometry: routeCoordinates, - lineColor: '#3b9ddd', - lineWidth: 5.0, - lineOpacity: 0.8, - ), - ); - - _zoomToFitRoute(routeCoordinates); - } - } else { - showAlertDialog( - context, - AppLocalizations.of(context)?.error ?? "Error", - AppLocalizations.of(context)?.invalid_coordinates ?? - "Invalid coordinates or user position."); } } - void _zoomToFitRoute(List coordinates) { - // Calculate the bounding box - double minLat = coordinates.first.latitude; - double maxLat = coordinates.first.latitude; - double minLng = coordinates.first.longitude; - double maxLng = coordinates.first.longitude; - - for (LatLng coord in coordinates) { - if (coord.latitude < minLat) minLat = coord.latitude; - if (coord.latitude > maxLat) maxLat = coord.latitude; - if (coord.longitude < minLng) minLng = coord.longitude; - if (coord.longitude > maxLng) maxLng = coord.longitude; - } - - // Define the bounds - LatLng southwest = LatLng(minLat, minLng); - LatLng northeast = LatLng(maxLat, maxLng); - - mapController.moveCamera( - CameraUpdate.newLatLngBounds( - LatLngBounds(southwest: southwest, northeast: northeast), - left: 50, // Padding on the left - top: 50, // Padding on the top - right: 50, // Padding on the right - bottom: 50, // Padding on the bottom - ), - ); - } - - // Load image from assets Future _loadMarkerImage(String assetPath) async { final ByteData data = await rootBundle.load(assetPath); return data.buffer.asUint8List(); @@ -374,78 +207,23 @@ class _MapboxPagesState extends State with ShowAlertDialog { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - title: Text(widget.place), - actions: [ - DropdownButton( - value: selectedMode, - items: [ - DropdownMenuItem( - value: 'walking', - child: Row( - children: [ - Icon(Icons.directions_walk, color: Colors.blue), - SizedBox(width: 8), - Text(AppLocalizations.of(context)?.walking ?? 'Walking'), - ], - ), - ), - DropdownMenuItem( - value: 'cycling', - child: Row( - children: [ - Icon(Icons.directions_bike, color: Colors.green), - SizedBox(width: 8), - Text(AppLocalizations.of(context)?.cycling ?? 'Cycling'), - ], - ), - ), - DropdownMenuItem( - value: 'driving', - child: Row( - children: [ - Icon(Icons.directions_car, color: Colors.red), - SizedBox(width: 8), - Text(AppLocalizations.of(context)?.driving ?? 'Driving'), - ], - ), - ), - ], - onChanged: (mode) { - setState(() { - selectedMode = mode!; - }); - }, - ) - ], - ), + appBar: AppBar(title: Text(widget.place)), drawer: MyDrawer(), - body: Stack( - children: [ - isLoading - ? Center(child: CircularProgressIndicator()) - : MapboxMap( - accessToken: mapboxAccessToken, - onMapCreated: (controller) { - mapController = controller; - }, - onStyleLoadedCallback: _onStyleLoaded, - initialCameraPosition: CameraPosition( - target: LatLng(latitude, longitude), - zoom: 14.0, - ), - ), - Positioned( - bottom: 20, - right: 20, - child: FloatingActionButton( - onPressed: _drawRouteAndMarkers, - child: Icon(Icons.directions), - tooltip: AppLocalizations.of(context)?.get_direction ?? - 'Get Directions and Markers', + body: isLoading + ? const Center(child: CircularProgressIndicator()) + : mapbox.MapWidget( + onMapCreated: (controller) { + mapboxMap = controller; + }, + cameraOptions: mapbox.CameraOptions( + center: mapbox.Point( + coordinates: mapbox.Position(longitude, latitude)), + zoom: 14.0, + ), ), - ), - ], + floatingActionButton: FloatingActionButton( + onPressed: _drawRouteAndMarkers, + child: const Icon(Icons.directions), ), ); }