- Notifications
You must be signed in to change notification settings - Fork2
natsuk4ze/compassx
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Provides reliable compass data and extensivedocumentation.
StreamBuilder<CompassXEvent>( stream:CompassX.events, builder: (context, snapshot) {if (!snapshot.hasData)returnconstText('No data');final compass= snapshot.data!;returnColumn( mainAxisSize:MainAxisSize.min, children: [Text('Heading: ${compass.heading}'),Text('Accuracy: ${compass.accuracy}'),Text('Should calibrate: ${compass.shouldCalibrate}'),Transform.rotate( angle: compass.heading* math.pi/180, child:Icon(Icons.arrow_upward_rounded, size:MediaQuery.of(context).size.width-80, ), ), ], ); },),
heading
: The heading relative to true north in degree.accuracy
: The accuracy of the sensor data.shouldCalibrate
: Whether the sensor should be calibrated or not.
$flutter pub add compassx
Check the minimum supported version of your project and update as necessary.
- iOS: 12
- Android: 21
Request permission to get true heading in Android. Not required on iOS.
$flutter pub add permission_handler
Specify the permissions one or both of the following inAndroidManifest.xml.It can be copied fromexample.
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" />
ACCESS_COARSE_LOCATION
: Used when normal accuracy is required.ACCESS_FINE_LOCATION
: Used when the highest quality accuracy is required.
Add code to request permissions.
if (Platform.isAndroid)awaitPermission.location.request();
CompassXheading
currently supports only portrait mode. It is recommended to fix the orientation of the device.
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp,DeviceOrientation.portraitDown, ]);
It is recommended to use a real device. iOS simulators cannot use the heading sensor (compass). SeeTesting CompassX for details.
If you are going to use this plugin in your product apps, I strongly suggest you readfull documentation carefully.
About
Compass Plugin for Flutter