traccar_api 1.1.1 copy "traccar_api: ^1.1.1" to clipboard
traccar_api: ^1.1.1 copied to clipboard

A Flutter plugin for integrating with the Traccar API, enabling access to device and position data.

traccar_api #

A Flutter plugin for interacting with the Traccar API. This plugin allows you to authenticate with a Traccar server, fetch device information, and retrieve current and historical position data. It supports visualizing device locations and travel paths on a map using flutter_map.

Features #

  • Authenticate with a Traccar server using email and password.
  • Retrieve a list of registered devices.
  • Fetch current positions for a specific device.
  • Fetch historical positions within a specified date range.
  • Display current positions on a map with markers.
  • Visualize historical travel paths as polylines.

Installation #

Add the following to your pubspec.yaml file:

dependencies:
  traccar_api: ^1.0.0
  flutter_map: ^6.0.0
  latlong2: ^0.9.0
  syncfusion_flutter_datepicker: ^20.0.0

Then, run:

flutter pub get

Usage #

1. Initialize the Traccar API Client #

Create an instance of TraccarApi with your Traccar server URL:

import 'package:traccar_api/traccar_api.dart';

final traccar = TraccarApi(baseUrl: 'http://demo.traccar.org:5055');

2. Authenticate with the Server #

Use your Traccar credentials to authenticate:

bool success = await traccar.authenticate(
  email: 'admin@traccar.org',
  password: 'admin',
);
if (success) {
  print('Authentication successful');
} else {
  print('Authentication failed');
}

3. Fetch Devices #

Retrieve a list of devices registered on the server:

List<TraccarDevice> devices = await traccar.getDevices();
print('Found ${devices.length} devices');

4. Fetch Current Positions #

Get the latest positions for a specific device:

final positions = await traccar.getPositions(deviceId: devices[0].id);
if (positions.isNotEmpty) {
  print('Latest position: ${positions[0].latitude}, ${positions[0].longitude}');
}

5. Fetch Historical Positions #

Retrieve positions for a device within a date range:

final positions = await traccar.getPositions(
  deviceId: devices[0].id,
  from: DateTime(2025, 7, 1),
  to: DateTime(2025, 7, 16),
);
print('Found ${positions.length} historical positions');

Example #

The example/ directory contains a complete Flutter app demonstrating how to:

  • Authenticate with a Traccar server.
  • Display a list of devices.
  • Show current device positions on a map with markers.
  • Visualize historical travel paths as polylines using a date range picker.

To run the example:

cd example
flutter run

Dependencies #

This plugin requires the following dependencies:

  • flutter_map: For rendering maps.
  • latlong2: For handling latitude and longitude coordinates.
  • syncfusion_flutter_datepicker: For selecting date ranges in the example app.

Ensure these are included in your pubspec.yaml if you use the example or similar functionality.

Notes #

  • Replace http://demo.traccar.org:5055 with your Traccar server URL if you are using a private instance.
  • Ensure a stable internet connection to fetch data from the Traccar server and load OpenStreetMap tiles.
  • For private servers, verify that your server supports the Traccar API and that your credentials are valid.

Contributing #

Contributions are welcome! Please submit issues or pull requests to the GitHub repository.

License #

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.

2
likes
140
points
32
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for integrating with the Traccar API, enabling access to device and position data.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter, http

More

Packages that depend on traccar_api

Packages that implement traccar_api