maps_toolkit 1.1.0+2
Maps toolkit  geomeasurements utils  area of polygon, distance between point, heading and offset between points (port of SphericalUtil, PolyUtil from `androidmapsutils`).
maps_toolkit #
A library for area, distance, heading measurements (spherical_util.dart if port from androidmapsutils
).
Getting Started #
In your dart/flutter project add the dependency:
dependencies:
...
maps_toolkit: ^1.1.0+2
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)
);
}
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 DouglasPeucker 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.