Explore two locations concurrently with transparent map overlays.
Discover a new dimension of exploration with Overmaps, an app that redefines the way you compare and analyse two different locations using Google Maps. With the unique ability to overlay two maps with transparency, Overmaps empowers you to delve into intricate details seamlessly. Here are the key features:
-
Search Different Locations: Use the search bar to input addresses or names of locations you want to explore. Find and select two distinct areas for a comprehensive comparison.
-
Map Overlay: Once you've chosen the locations, effortlessly overlay them. Fine-tune transparency using an intuitive control slider for a detailed view of each location.
-
Individual Rotation: Customize the perspective of each location with individual rotation option. Rotate and adjust the angle of each map to achieve the best visualization.
-
Maintained Zoom: Apply desired zoom to one location, and watch it seamlessly transition to the other map. Simplifies the comparison of details and features between two geographic areas.
-
Easy Navigation: Navigate smoothly between the two locations with a simple toggle or interface gesture.
Overmaps provides a fresh and innovative way to gain insights into two locations simultaneously, aiding decision-making and in-depth geographical analysis. Download our app today and embark on a unique exploration experience!
Set MAPS_API_KEY environment variable at ./android/secrets.properties for the android app
Set --dart-define=MAPS_API_KEY=key when running flutter
Got configuration steps from https://firebase.google.com/docs/crashlytics/get-started?platform=flutter
Project configuration at Firebase Overmaps
Install Flutter Fire
dart pub global activate flutterfire_cli
Add its path to .zshrc
export PATH=$PATH":"$HOME/.pub-cache/bin
Login to Firebase
firebase login
Configure project
flutterfire configure
Select
✔ Select a Firebase project to configure your Flutter application with
· overmap-1503847389383 (Overmaps)
✔ Which platforms should your configuration support (use arrow keys & space to select)?
· android
This process will generate the files:
google-services.json
firebase_options.dart
Set in .vscode/launch.json
"configurations": [
{
"name": "overmaps",
"request": "launch",
"type": "dart",
"toolArgs": [
"--dart-define=MAPS_API_KEY=key"
]
}
]
- MAPS_API_KEY "key" is the same used in the secrets.properties.
Followed this guide: i18n|Flutter
Run flutter gen-l10n
to update the i18n generated files.
The flutter_launcher_icons tool is used to generate the icons for different platforms
The file used as the app logo is ./lib/assets/logo-icon.png defined in the pubspec.yaml file under the flutter_launcher_icons section.
After updating the logo run: $ dart run flutter_launcher_icons
Setup these files in the path ./android:
-
key.properties
storePassword=(Stored in BitWarden with the name Android signing)
keyPassword=(Stored in BitWarden with the name Android signing)
keyAlias=upload
storeFile=/home/xcarol/workspace/overmaps/upload-keystore.jks (Stored in BitWarden with the name Android signing) -
secrets.properties
MAPS_API_KEY=key
"key" is stored at Google APIs
flutter build appbundle --release --dart-define=MAPS_API_KEY=key
- MAPS_API_KEY "key" is the same used in the secrets.properties.
As this is a one time process, I cannot step back to do the process again, so here I leave useful information in case it is needed do this process again. God willing 🤞😅.
Links to follow:
https://docs.flutter.dev/deployment/android
https://developer.android.com/studio/publish/app-signing#enroll_new
https://play.google.com/console
The keystore (and password) used for the app signing is at the Bitwarden vault. These are the same used in the key.properties file.
-
Modify the last (build) number in version: 1.0.0+X at the pubspec.yaml file before building the new .aab bundle.
-
Build the bundle (as explained above):
flutter build appbundle --release --dart-define=MAPS_API_KEY=key
-
Go to: Create an internal test version to upload it.