Commit a4eac86
authored
Feat/offline maps (#812)
* feat: Enhance configuration documentation and integrate OTP routing in HomeScreen and TransportList
* feat: Update OTP endpoint and add new map engine configurations
* feat: Add offline map support with OfflineMapLibreEngine
- Introduced OfflineMapLibreEngine for fully offline maps using local mbtiles and style files.
- Updated main.dart to conditionally include OfflineMapLibreEngine based on platform (disabled on web).
- Modified pubspec.yaml to include new asset paths for offline maps and fonts.
- Added necessary dependencies for path_provider to manage offline assets.
- Enhanced map engine exports to include the new offline engine.
* feat: Implement GTFS parsing and routing services
- Add GtfsParser for parsing GTFS data from ZIP files.
- Create GtfsRoutingService for finding routes using GTFS data.
- Introduce RoutingSegment and RoutingPath classes for managing routing segments and paths.
- Implement Otp15, Otp24, and Otp28 routing providers for OpenTripPlanner.
- Add IRoutingProvider interface for custom routing providers.
- Create RoutingConfiguration and RoutingEngineManager for managing routing providers.
- Update pubspec.yaml to include the archive package for ZIP file handling.
* feat: Enhance transport detail screen with routing engine integration
- Added `showWithRoutingEngine` method to `TransportDetailScreen` for simplified route detail display using the routing engine.
- Implemented `_RouteMapView` to visualize transport routes on a map, including stop markers and route lines.
- Updated loading behavior in `TransportDetailScreen` to show loading state only if data retrieval takes longer than 200ms.
refactor: Improve transport list screen routing logic
- Refactored routing engine retrieval in `TransportListTrufiScreen` to ensure proper handling of transit route repositories.
- Introduced `providerId` to track the current routing engine.
fix: Ensure markers are always visible on the map
- Modified `_RouteLayer` to always display origin and destination markers, regardless of selection state.
- Adjusted marker sizes and styles for better visibility.
chore: Implement engine initialization for map and routing providers
- Added `initialize` method to various routing providers and map engines to prepare resources during app startup.
- Updated `RoutingEngineManager` and `MapEngineManager` to include engine initialization logic.
style: Update transport tile display logic
- Enhanced `TransportTile` to dynamically show primary and secondary text based on route information.
chore: Update dependencies in pubspec.yaml
- Added `flutter_bloc` dependency to `trufi_core_routing`.
- Updated dependencies in `trufi_core_ui` to include `trufi_core_maps` and `trufi_core_routing`.
* feat: Refactor overlay management to use OverlayManager and update app configuration
* feat: Enhance GTFS data handling and app initialization with isolate support
* feat: Refactor app initialization with custom screen support and improved error handling
* feat: Enhance app initialization with customizable theme and loading screen animations
* feat: Add support for multiple OTP routing providers and enhance routing settings UI
* feat: Implement long press handling for web in TrufiMapLibreMap
* feat: Simplify TransportDetailScreen invocation and enhance route handling in itinerary details
* feat: Add OTP 1.5 TransitRouteRepository implementation and update routing provider to support transit routes
* feat: Refactor TransportDetailScreen and TransportListTrufiScreen for improved routing and map handling1 parent 39b68df commit a4eac86
149 files changed
Lines changed: 9413 additions & 1168 deletions
File tree
- apps/example
- assets
- offline
- fonts
- OpenSansBold
- OpenSansItalic
- OpenSansRegular
- RobotoCondensedItalic
- RobotoMedium
- RobotoRegular
- styles
- osm-bright
- osm-liberty
- routing
- lib
- packages
- screens
- trufi_core_home_screen
- lib
- l10n
- src
- config
- services
- widgets
- test
- trufi_core_settings
- example
- lib
- l10n
- overlay/onboarding
- trufi_core_transport_list
- example/lib
- lib/src
- repository
- widgets
- trufi_core_interfaces/lib/src/config
- trufi_core_maps
- example/lib/engines
- lib
- src
- configuration/map_engine
- presentation/map
- trufi_core_routing
- lib
- src
- data
- graphql
- otp_1_5
- otp_2_8
- domain
- entities
- services
- providers
- gtfs
- data
- index
- models
- parser
- services
- trufi_core_ui
- lib/src
- app_initializer
- router
- trufi_core_utils/lib
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0 commit comments