A flutter plugin that decodes encoded google polyline string into list of geo-coordinates suitable for showing route/polyline on maps
This package contains functions to decode google encoded polyline string which returns a list of co-ordinates indicating route between two geographical position
To use this package, add flutter_polyline_points as a dependency in your pubspec.yaml file.
import 'package:flutter_polyline_points/flutter_polyline_points.dart';
Get the list of points by Geo-coordinate, this return an instance of PolylineResult, which contains the status of the api, the errorMessage, and the list of decoded points.
PolylinePoints polylinePoints = PolylinePoints();
PolylineResult result = await polylinePoints.getRouteBetweenCoordinates(
googleApiKey: googleAPiKey,
request: PolylineRequest(
origin: PointLatLng(_originLatitude, _originLongitude),
destination: PointLatLng(_destLatitude, _destLongitude),
mode: TravelMode.driving,
wayPoints: [PolylineWayPoint(location: "Sabo, Yaba Lagos Nigeria")],
),
);
print(result.points);
Decode an encoded google polyline string e.g _p~iF~ps|U_ulLnnqC_mqNvxq`@
List<PointLatLng> result = polylinePoints.decodePolyline("_p~iF~ps|U_ulLnnqC_mqNvxq`@");
print(result);
Fetch polyline with alternative routes. This method returns a list of PolylineResult
List<PolylineResult> resulte = await PolylinePoints().getRouteBetweenCoordinates(
googleApiKey: googleAPiKey,
request: PolylineRequest(
origin: PointLatLng(_originLatitude, _originLongitude),
destination: PointLatLng(_destLatitude, _destLongitude),
mode: TravelMode.driving,
wayPoints: [PolylineWayPoint(location: "Sabo, Yaba Lagos Nigeria")],
),
);
print(results.length);
See the example directory for a complete sample app
kindly ensure you use a valid google api key,
If you need help generating api key for your project click this link