google_maps_directions
Berechnen Sie Entfernungen, Dauer und den kürzesten Weg/Strecke zwischen zwei Punkten.
Berechnen Sie Entfernungen, Dauer und erhalten Sie die kürzeste Route/Strecke zwischen zwei Punkten mit der Google Maps Directions API
Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
Documentation française accessible ici.
You need to have a valid Google Maps Routes API Key.
const String googleAPIKey = "GOOGLE_API_KEY";
//You can init the Package with this API_Key so you don't have to pass it as an argument to it's methods.
GoogleMapsDirections.init(googleAPIKey: googleAPIKey);
import "package:google_maps_directions/google_maps_directions.dart" as gmd;
...
Directions directions = await getDirections(
p1.lat,
p1.lng,
p2.lat,
p2.lng,
language: "fr_FR",
);
DirectionRoute route = directions.shortestRoute;
You can draw a route between the two addresses on a Map using google_maps_flutter and flutter_polyline_points packages.
import 'package:flutter_polyline_points/flutter_polyline_points.dart';
import 'package:google_maps_directions/google_maps_directions.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
...
DirectionRoute route = directions.shortestRoute;
List<LatLng> points = PolylinePoints().decodePolyline(route.overviewPolyline.points)
.map((point) => LatLng(point.latitude, point.longitude))
.toList();
List<Polyline> polylines = [
Polyline(
width: 5,
polylineId: PolylineId("UNIQUE_ROUTE_ID"),
color: Colors.green,
points: points,
),
];
...
@override
Widget build(BuildContext context) {
return Scaffold(
body : GoogleMap(
polylines: Set.of(polylines),
...
),
);
}
You can also give indications for each stage of a route. A more complete demonstration is provided in example directory.
import 'package:google_maps_directions/google_maps_directions.dart';
...
DirectionRoute route = directions.shortestRoute;
DirectionLegStep firstRouteLegStep = route.shortestLeg.steps.first;
print(firstRouteLegStep.htmlInstructions); //At the roundabout, take the exit onto route National 1.
print(firstRouteLegStep.maneuver); //roundabout-right.
import "package:google_maps_directions/google_maps_directions.dart" as gmd;
DistanceValue distanceBetween = await gmd.distance(9.2460524, 1.2144565, 6.1271617, 1.2345417, googleAPIKey : googleAPIKey); //gmd.distance(9.2460524, 1.2144565, 6.1271617, 1.2345417) or without passing the API_KEY if the plugin is already initialized with it's value.
int meters = distanceBetween.meters // await gmd.distanceInMeters(9.2460524, 1.2144565, 6.1271617, 1.2345417, googleAPIKey : googleAPIKey);
String textInKmOrMeters = distanceBetween.text // await gmd.distanceText(9.2460524, 1.2144565, 6.1271617, 1.2345417, googleAPIKey : googleAPIKey);
import "package:google_maps_directions/google_maps_directions.dart" as gmd;
DurationValue durationBetween = await gmd.duration(9.2460524, 1.2144565, 6.1271617, 1.2345417, googleAPIKey : googleAPIKey);
int seconds = durationBetween.seconds//await gmd.durationInSeconds(9.2460524, 1.2144565, 6.1271617, 1.2345417, googleAPIKey : googleAPIKey);
String durationInMinutesOrHours = gmd.durationBetween.text // await gmd.durationText(9.2460524, 1.2144565, 6.1271617, 1.2345417, googleAPIKey : googleAPIKey);
Feel free to submit issues, suggestions or features requests on this package issues tracker.
Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗