Files
rog_app/lib/services/maxtrix_service.dart
Mohamed Nouffer 3cb7865d3b update
2022-05-24 20:43:41 +05:30

45 lines
1.2 KiB
Dart

import 'dart:convert';
import 'package:http/http.dart' as http;
class MatrixService{
static Future<Map<String, dynamic>> getDestinations(List<dynamic> destinations) async {
String locs = "";
String origin = "";
int i = 0;
for(Map<String, dynamic> loc in destinations){
if(i==0){
origin = "${loc["location"]["geometry"]["coordinates"][0][1]}, ${loc["location"]["geometry"]["coordinates"][0][0]}";
}
print("lat is ${loc["location"]["geometry"]["coordinates"][0][1]}, long is ${loc["location"]["geometry"]["coordinates"][0][0]}");
locs += "${loc["location"]["geometry"]["coordinates"][0][1]}, ${loc["location"]["geometry"]["coordinates"][0][0]}|";
i++;
}
//print(locs);
Map<String, dynamic> cats = {};
String url = "https://maps.googleapis.com/maps/api/distancematrix/json?destinations=${locs}&origins=${origin}&key=AIzaSyAUBI1ablMKuJwGj2-kSuEhvYxvB1A-mOE";
print(url);
final http.Response response = await http.get(
Uri.parse(url),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
}
);
if (response.statusCode == 200) {
cats = json.decode(utf8.decode(response.bodyBytes));
}
return cats;
}
}