google_maps_directions
दो बिंदुओं के बीच दूरी, अवधि और सबसे छोटा मार्ग/खंड गणना करें।
Google Maps दिशानिर्देश API के साथ दो बिंदुओं के बीच दूरी, अवधि और सबसे छोटा मार्ग/खंड की गणना करें
यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री 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.
उपयोग के अनुसार छाँटें, गतिविधि की तुलना करें और अपनाने से पहले मूल प्रोजेक्ट की आवश्यकताएँ जाँचें।
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗