geo_tag_camera 1.0.2
geo_tag_camera: ^1.0.2 copied to clipboard
A premium Flutter package for capturing photos with automatic geo-tagging, compass heading, and street address watermarks.
Geo Tag Camera πΈπ
A premium Flutter package providing a fully customizable camera UI for capturing photos with automatic geo-location, compass direction, date, and address watermarks stamped directly onto the image.
π Features #
- β¨ Custom Camera UI: Clean, intuitive preview with tap-to-focus and pinch-to-zoom capabilities.
- π Automatic Watermarking: Automatically reads device GPS and stamps latitude, longitude, and actual street address directly onto your pictures.
- π§ Compass Heading: Real-time magnetometer analysis indicating the direction the camera is facing (N, NW, SE, etc.).
- π Smart Overlays: Built-in Rule of Thirds grid overlay and active device angle sensors (gyroscope alignment) to capture perfect shots.
- π¨ Themes & Configuration: Seamlessly toggle between Dark/Light watermark themes, aspect ratios (16:9, 4:3), adjustable watermark size, and corner placement natively from the settings.
- π± Cross-Platform: Works right out of the box on both Android & iOS, requesting all the necessary permissions internally.
πΈ Screenshots #
π Installation #
To use geo_tag_camera in your project, add the dependency to your pubspec.yaml file:
dependencies:
geo_tag_camera: ^1.0.1
Then, run:
flutter pub get
π οΈ Usage #
To use the camera feature, simply navigate to the CameraPage. The package will effortlessly handle requesting camera and location permissions from the user.
import 'package:flutter/material.dart';
import 'package:geo_tag_camera/geo_tag_camera.dart';
class MyScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
child: const Text("Open Geo Camera"),
onPressed: () async {
// Push the camera page onto the navigation stack
final resultFile = await Navigator.push(
context,
MaterialPageRoute(builder: (_) => const CameraPage()),
);
if (resultFile != null) {
print("Picture saved to: ${resultFile.path}");
}
},
),
),
);
}
}
βοΈ Native Permissions Setup #
Android #
Add these permissions to your android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
iOS #
Add these keys to your ios/Runner/Info.plist:
<key>NSCameraUsageDescription</key>
<string>This app needs camera access to capture photos.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to your location to watermark photos.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to your location to watermark photos.</string>
π¨βπ» Author #
Built with β€οΈ by Ranjith
If you found this package helpful, consider giving it a β on GitHub and a π on pub.dev!
π License #
This project is licensed under the MIT License - see the LICENSE file for details.