Skip to content
Snippets Groups Projects
Commit 79ff9e29 authored by theilen's avatar theilen
Browse files

Include day and weather information

parent d986b2ca
Branches
No related tags found
1 merge request!6final project merge into main
......@@ -2,6 +2,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:intl/intl.dart';
import 'package:tuple/tuple.dart';
import 'widgets/returnOrigin.dart';
import 'widgets/returnDestination.dart';
import 'package:geocoding/geocoding.dart';
......@@ -212,28 +213,19 @@ class _MyHomePageState extends State<MyHomePage> {
var originlon = _originCoordinates.longitude;
var destlat = _destCoordinates.latitude;
var destlon = _destCoordinates.longitude;
var dateTup = getDayOffset();
// Get direction data
// No weather or days included for now
final response = await http.post(
Uri.parse('http://10.0.2.2:8080/route'),
body: jsonEncode(
{
"start_node": {
"lat": originlat,
"lon": originlon
},
"end_node": {
"lat": destlat,
"lon": destlon
},
"forbidden": [],
"start_after_today": 0,
"end_after_today": 0
}
),
headers: <String, String>{"Content-Type": "application/json"}
);
final response = await http.post(Uri.parse('http://10.0.2.2:8080/route'),
body: jsonEncode({
"start_node": {"lat": originlat, "lon": originlon},
"end_node": {"lat": destlat, "lon": destlon},
"forbidden": getForbidden(),
"start_after_today": dateTup.item1,
"end_after_today": dateTup.item2
}),
headers: <String, String>{"Content-Type": "application/json"});
_data = jsonDecode(response.body);
var coordinates = _data['route'];
int duration = _data['duration'];
......@@ -293,6 +285,32 @@ class _MyHomePageState extends State<MyHomePage> {
return '$distanceInKm km';
}
List<String> getForbidden() {
List<String> forbidden = [];
for (var option in _selectedOptions) {
switch (option) {
case 'Rain':
forbidden.add('rain');
break;
case 'Frost':
forbidden.add('ice');
break;
case 'Wind':
forbidden.add('wind');
break;
case 'Snow':
forbidden.add('snow');
}
}
return forbidden;
}
Tuple2<int, int> getDayOffset() {
return Tuple2<int, int>(_dateRange.start.difference(DateTime.now()).inDays,
_dateRange.end.difference(DateTime.now()).inDays);
}
// Get coords between origin/dest points corresponding to shortest path and update _info.
// This part is going to be updated to take directions from backend instead of Direction API.
// Future<Directions> _getDirections() async {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment