Search packages, repositories and app categories

Package detailsv3.1.0

maps_toolkit

Maps toolkit - geo-measurements utils - area of polygon, distance between point, heading and offset between points (port of SphericalUtil, PolyUtil from `android-maps-utils`).

AndroidiOSWebmacOSWindowsLinux
30-day downloads
48.1K
Likes
389
Pub points
160

Install package

flutter pub add maps_toolkit

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

maps_toolkit is a Flutter/Dart package providing essential geospatial utilities for working with maps. It offers tools to calculate the area of polygons, compute distances between geographic points, and determine heading and offset between coordinates—mirroring functionality from the Android Maps Utils library. Designed for cross-platform use, it supports Android, iOS, Web, macOS, Windows, and Linux. The package simplifies complex geographic computations, making it ideal for location-based applications requiring precise measurements and spatial analysis.

Use cases

  • Calculating polygon areas on maps
  • Measuring distances between two coordinates
  • Determining directional heading between points
  • Computing coordinate offsets
  • Geospatial data visualization
  • Route planning and analysis

Key features

  • Polygon area calculation
  • Distance and bearing computation
  • Coordinate offset utilities
  • Cross-platform compatibility
  • Lightweight and easy to integrate
  • Port of Android Maps Utils

Suitable for

  • Map-based applications
  • Location-aware features
  • GIS-related projects
  • Navigation and routing tools
  • Real-time tracking systems
  • Spatial analytics

Considerations

  • Requires valid latitude/longitude inputs
  • No built-in map rendering
  • Depends on accurate geodetic calculations
  • Not suitable for large-scale terrain modeling
  • Best used with map widgets like google_maps_flutter

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

maps_toolkit

Pub Package Build Status Coverage Status GitHub Issues GitHub Forks GitHub Stars GitHub License

A library for area, distance, heading measurements (spherical_util.dart if port from android-maps-utils).

Getting Started

In your dart/flutter project add the dependency:

 dependencies:
   ...
   maps_toolkit: ^3.0.0

A simple usage example:

import 'package:maps_toolkit/maps_toolkit.dart';

main() {
  val distanceBetweenPoints = SphericalUtil.computeDistanceBetween(
    LatLng(51.5073509, -0.1277583),
    LatLng(48.856614, 2.3522219)
  );

  final p1 = LatLng(45.153474463955796, 39.33852195739747);
  final p2 = LatLng(45.153474463955796, 39.33972358703614);
  final p3 = LatLng(45.15252112936569, 39.33972358703614);
  final p4 = LatLng(45.1525022138355, 39.3385460972786);

  val areaInSquareMeters = SphericalUtil.computeArea([p1, p2, p3, p4, p1]);
}

Usage with Google Maps package (specify a prefix for an import):

import 'package:maps_toolkit/maps_toolkit.dart' as mp;
import 'package:google_maps/google_maps.dart';
import 'package:test/test.dart';

void main() {
  final pointFromToolkit = mp.LatLng(90, 0);
  final pointFromGoogleMap = LatLng(90, 0);

  mp.SphericalUtil.computeAngleBetween(pointFromToolkit, pointFromToolkit);
}

List of functions

  • SphericalUtil.computeArea - calculate the area of a closed path on Earth.

  • SphericalUtil.computeDistanceBetween - calculate the distance between two points, in meters.

  • SphericalUtil.computeHeading - calculate the heading from one point to another point.

  • SphericalUtil.computeLength - calculate the length of the given path, in meters, on Earth.

  • SphericalUtil.computeOffset - calculate the point resulting from moving a distance from an origin in the specified heading (expressed in degrees clockwise from north).

  • SphericalUtil.computeOffsetOrigin - calculate the location of origin when provided with a point destination, meters travelled and original heading.

  • SphericalUtil.computeSignedArea - calculate the signed area of a closed path on Earth.

  • SphericalUtil.interpolate - calculate the point which lies the given fraction of the way between the origin and the destination.

  • PolygonUtil.containsLocation - computes whether the given point lies inside the specified polygon.

  • PolygonUtil.isLocationOnEdge - computes whether the given point lies on or near the edge of a polygon, within a specified tolerance in meters.

  • PolygonUtil.isLocationOnPath - computes whether the given point lies on or near a polyline, within a specified tolerance in meters.

  • PolygonUtil.locationIndexOnPath - computes whether (and where) a given point lies on or near a polyline, within a specified tolerance.

  • PolygonUtil.locationIndexOnEdgeOrPath - computes whether (and where) a given point lies on or near a polyline, within a specified tolerance.

  • PolygonUtil.simplify - simplifies the given poly (polyline or polygon) using the Douglas-Peucker decimation algorithm.

  • PolygonUtil.isClosedPolygon - returns true if the provided list of points is a closed polygon.

  • PolygonUtil.distanceToLine - computes the distance on the sphere between the point p and the line segment start to end.

  • PolygonUtil.decode - decodes an encoded path string into a sequence of LatLngs.

  • PolygonUtil.encode - encodes a sequence of LatLngs into an encoded path string.

Features and bugs

Please file feature requests and bugs at the issue tracker.

Categories

Source repository

Projects using this package

No data available yet.