flutter_device_compass

pub package

A Flutter compass plugin using device sensors. The heading varies from 0–360°, where 0 is north.

Community-maintained fork of medyas/flutter_compass_v2 (lineage from hemanthrajv/flutter_compass), republished as flutter_device_compass on pub.dev for ongoing maintenance and Flutter 3.44+ compatibility.

Note: On Android, null heading is returned when no compass sensor is available.

Usage

Add flutter_device_compass to your pubspec.yaml:

dependencies:
  flutter_device_compass: ^2.0.0

Import and listen:

import 'package:flutter_device_compass/flutter_device_compass.dart';

FlutterCompass.events?.listen((CompassEvent event) {
  print(event.heading);
});

iOS

Add to Info.plist:

  • NSLocationWhenInUseUsageDescription
  • NSLocationAlwaysAndWhenInUseUsageDescription

Android

Add to AndroidManifest.xml:

  • android.permission.INTERNET
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION

Permissions

Use permission_handler to request location permission before reading the compass on iOS.

Maintainer

Nafis Kabbo