46 lines
1.4 KiB
Dart
46 lines
1.4 KiB
Dart
import 'dart:convert';
|
|
import 'dart:io';
|
|
import 'package:latlong2/latlong.dart';
|
|
import '../lib/utils/polyline_utils.dart';
|
|
|
|
void main() async {
|
|
final origin = "401 route du camping, 69850 Saint Martin en haut";
|
|
final destination = "Salle des fêtes, Orliénas";
|
|
|
|
final requestBody = jsonEncode({
|
|
"data": {
|
|
"origin": origin,
|
|
"destination": destination,
|
|
"vehicleTollCategory": 2
|
|
}
|
|
});
|
|
|
|
print("Fetching route...");
|
|
final request = await HttpClient().postUrl(Uri.parse('https://googlemapscomputeroute-iarazmuuzq-od.a.run.app'));
|
|
request.headers.set('Content-Type', 'application/json');
|
|
request.write(requestBody);
|
|
|
|
final response = await request.close();
|
|
final responseBody = await response.transform(utf8.decoder).join();
|
|
|
|
print("Status: ${response.statusCode}");
|
|
|
|
try {
|
|
final json = jsonDecode(responseBody);
|
|
final routes = json['routes'] as List;
|
|
for (int i = 0; i < routes.length; i++) {
|
|
final polyStr = routes[i]['encodedPolyline'];
|
|
print("Route $i polyline length: ${polyStr.length}");
|
|
final pts = safeDecodePolyline(polyStr);
|
|
print("Route $i points decoded: ${pts.length}");
|
|
if (pts.isNotEmpty) {
|
|
print(" Start: ${pts.first.latitude}, ${pts.first.longitude}");
|
|
print(" End: ${pts.last.latitude}, ${pts.last.longitude}");
|
|
}
|
|
}
|
|
} catch (e) {
|
|
print("Error parsing: $e");
|
|
print(responseBody);
|
|
}
|
|
}
|