Dart bridge between native google map utility class PolyUtil and your application.

Now you can use all PolyUtil methods that are available in google map utility class PolyUtil.

# Usage

Import `package:google_map_polyutil/google_map_polyutil.dart` and then you are all set to call all it's static methods.

# Methods available

• `containsLocation` Future<bool> : Computes whether the given point lies inside the specified polygon.
• `decode` Future<List<LatLng>> : Decodes an encoded path string into a sequence of LatLngs.
• `distanceToLine` Future<double> : Computes the distance on the sphere between the point p and the line segment start to end.
• `encode` Future<String> : Encodes a sequence of LatLngs into an encoded path string.
• `isClosedPolygon` Future<bool> : Returns true if the provided list of points is a closed polygon (i.e., the first and last points are the same), and false if it is not.
• `isLocationOnEdge` Future<bool> : Computes whether the given point lies on or near the edge of a polygon, within a specified tolerance in meters.
• `isLocationOnPath` Future<bool> : Computes whether the given point lies on or near a polyline, within a specified tolerance in meters.
• `simplify` Future<List> : Simplifies the given poly (polyline or polygon) using the Douglas-Peucker decimation algorithm.

# Example

``````// Let's prepare dummy arguments.
List<LatLng> paths = [];

// Coordinate you want to check if it lies within or near path.
LatLng point = LatLng(0, 3);

String encodedString = "???_ibE?_seK?_ibE";
``````

### containsLocation

``````GoogleMapPolyUtil.containsLocation(
point: point,
polygon: paths
).then((result) => print(result));
``````

### decode

``````GoogleMapPolyUtil.decode(
encodedPath: encodedPath
).then((result) => print(result));
``````

### distanceToLine

``````GoogleMapPolyUtil.distanceToLine(
point: LatLng(0, 0),
start: LatLng(0, 0),
end: LatLng(0, 8)
).then((result) => print(result));
``````

### encode

``````GoogleMapPolyUtil.encode(
path: paths
).then((result) => print(result));
``````

### isClosedPolygon

``````GoogleMapPolyUtil.isClosedPolygon(
poly: path,
polygon: paths
).then((result) => print(result));
``````

### isLocationOnEdge

``````GoogleMapPolyUtil.isLocationOnEdge(
point: point,
polygon: paths
).then((result) => print(result));
``````

### isLocationOnPath

``````GoogleMapPolyUtil.isLocationOnEdge(
point: point,
polygon: paths
).then((result) => print(result));
``````

### simplify

``````GoogleMapPolyUtil.simplify(
poly: paths,
tolerance: 100
).then((result) => print(result));
``````