share_tracker 1.0.9 copy "share_tracker: ^1.0.9" to clipboard
share_tracker: ^1.0.9 copied to clipboard

package to track user's location and monitor step count and pedestrian status.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:share_tracker/share_tracker.dart';

void main() {
  TrackerService.instance.init();
  runApp(const ExampleApp());
}

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: MainPage(),
    );
  }
}

class MainPage extends StatefulWidget {
  const MainPage({super.key});

  @override
  State<StatefulWidget> createState() => _MainPageState();
}

class _MainPageState extends State<MainPage> {
  @override
  void initState() {
    super.initState();
    _controller.attach(this);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: _buildAppBar(),
      body: _buildContent(),
    );
  }

  AppBar _buildAppBar() {
    return AppBar(
      title: const Text('Location Service'),
      centerTitle: true,
    );
  }

  Widget _buildContent() {
    return Center(
      child: SingleChildScrollView(
        child: ValueListenableBuilder(
          valueListenable: _controller.listenable,
          builder: (BuildContext context, Tracker? location, _) {
            return _buildResultTable(location);
          },
        ),
      ),
    );
  }

  Widget _buildResultTable(Tracker? tracker) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: [
        DataTable(
          columns: const [
            DataColumn(label: Text('key')),
            DataColumn(label: Text('value')),
          ],
          rows: [
            DataRow(
                cells:
                    _buildDataCells('timeStamp', tracker?.position?.timestamp)),
            DataRow(
                cells: _buildDataCells('stepCount', tracker?.stepCount?.steps)),
            DataRow(cells: _buildDataCells('status', tracker?.status)),
            DataRow(
                cells:
                    _buildDataCells('latitude', tracker?.position?.latitude)),
            DataRow(
                cells:
                    _buildDataCells('longitude', tracker?.position?.longitude)),
            DataRow(
                cells:
                    _buildDataCells('altitude', tracker?.position?.altitude)),
            DataRow(
              cells: _buildDataCells(
                'speed',
                tracker?.position?.speed != null
                    ? (tracker!.position!.speed * 3.6)
                    : 0,
              ),
            ),
            DataRow(cells: _buildDataCells('initTime', tracker?.initTime)),
          ],
        )
      ],
    );
  }

  List<DataCell> _buildDataCells(String key, dynamic value) {
    return [
      DataCell(Text(key)),
      DataCell(Text(value.toString())),
    ];
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  final _controller = TrackerController(id: 101, title: 'tracker');
}
0
likes
140
points
44
downloads

Publisher

unverified uploader

Weekly Downloads

package to track user's location and monitor step count and pedestrian status.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dangple_mobile_tracker, flutter, flutter_foreground_task, geolocator, intl, pedometer, permission_handler, sensors_plus

More

Packages that depend on share_tracker