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
First login to Firebase
firebase login
Then run
flutterfire configure
and 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, web
to 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.
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.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:
-
key.properties
storePassword=(Stored in BitWarden)
keyPassword=(Stored in BitWarden)
keyAlias=upload
storeFile=/home/xcarol/workspace/overmaps/upload-keystore.jks (Stored in BitWarden) -
local.properties
sdk.dir=/home/xcarol/workspace/android-sdk/
flutter.sdk=/home/xcarol/snap/flutter/common/flutter
flutter.buildMode=release
flutter.versionName=1.0.0
flutter.versionCode=1 -
secrets.properties
MAPS_API_KEY=key
"key" is stored at Google APIs
flutter build appbundle --release --dart-define=MAPS_API_KEY=key
flutter build web --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.