Implement Google Navigation Flutter integration for turn-by-turn delivery navigation

Adds complete Google Navigation support with:
- LocationPermissionService for runtime location permissions
- NavigationSessionService for session and route management
- NavigationPage for full-screen turn-by-turn navigation UI
- NavigationTermsAndConditionsDialog for service acceptance
- Comprehensive i18n support (English/French)
- Android minSdk=23 with Java NIO desugaring
- iOS location permissions in Info.plist
- Error handling with user-friendly dialogs
- Location update and arrival notifications

Includes detailed setup guide and implementation documentation with API key
configuration instructions, integration examples, and testing checklist.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jean-Philippe Brule
2025-11-15 20:43:29 -05:00
parent 5714fd8443
commit 46af8f55a2
10 changed files with 1312 additions and 3 deletions
+19 -1
View File
@@ -65,5 +65,23 @@
"completed": {"type": "int"},
"total": {"type": "int"}
}
}
},
"navigationTcTitle": "Service de Navigation",
"navigationTcDescription": "Cette application utilise Google Navigation pour fournir une navigation virage par virage pour les livraisons.",
"navigationTcAttribution": "Attribution: Services de cartes et de navigation fournis par Google Maps.",
"navigationTcTerms": "En acceptant, vous acceptez les conditions d'utilisation et la politique de confidentialit de Google pour les services de navigation.",
"accept": "Accepter",
"decline": "Refuser",
"locationPermissionRequired": "Permission de localisation",
"locationPermissionMessage": "Cette application ncessite la permission de localisation pour naviguer vers les livraisons.",
"locationPermissionDenied": "Permission de localisation refuse. La navigation ne peut pas continuer.",
"permissionPermanentlyDenied": "Permission requise",
"openSettingsMessage": "La permission de localisation est dfinitivement refuse. Veuillez l'activer dans les paramtres de l'application.",
"openSettings": "Ouvrir les paramtres",
"cancel": "Annuler",
"ok": "OK",
"requestPermission": "Demander la permission",
"navigationArrived": "Vous tes arriv la destination",
"navigatingTo": "Navigation vers",
"initializingNavigation": "Initialisation de la navigation..."
}