Browse Source

Sprint 3 // User story

GPS sprint 3
carlos.perez25 3 years ago
parent
commit
0baec26ff9
1 changed files with 131 additions and 0 deletions
  1. 131
    0
      Carlos/gps_fastmed.dart

+ 131
- 0
Carlos/gps_fastmed.dart View File

@@ -0,0 +1,131 @@
1
+import 'package:flutter/material.dart';
2
+import 'package:url_launcher/url_launcher.dart';
3
+
4
+
5
+void main() {
6
+  runApp(MyApp());
7
+}
8
+
9
+class MyApp extends StatelessWidget {
10
+  // This widget is the root of your application.
11
+  @override
12
+  Widget build(BuildContext context) {
13
+    return MaterialApp(
14
+      title: 'Flutter Demo',
15
+      theme: ThemeData(
16
+        // This is the theme of your application.
17
+        //
18
+        // Try running your application with "flutter run". You'll see the
19
+        // application has a blue toolbar. Then, without quitting the app, try
20
+        // changing the primarySwatch below to Colors.green and then invoke
21
+        // "hot reload" (press "r" in the console where you ran "flutter run",
22
+        // or simply save your changes to "hot reload" in a Flutter IDE).
23
+        // Notice that the counter didn't reset back to zero; the application
24
+        // is not restarted.
25
+        primarySwatch: Colors.blue,
26
+      ),
27
+      home: MyHomePage(title: 'Flutter Demo Home Page'),
28
+    );
29
+  }
30
+}
31
+
32
+class MyHomePage extends StatefulWidget {
33
+  MyHomePage({Key key, this.title}) : super(key: key);
34
+
35
+  // This widget is the home page of your application. It is stateful, meaning
36
+  // that it has a State object (defined below) that contains fields that affect
37
+  // how it looks.
38
+
39
+  // This class is the configuration for the state. It holds the values (in this
40
+  // case the title) provided by the parent (in this case the App widget) and
41
+  // used by the build method of the State. Fields in a Widget subclass are
42
+  // always marked "final".
43
+
44
+  final String title;
45
+
46
+  @override
47
+  _MyHomePageState createState() => _MyHomePageState();
48
+}
49
+
50
+class _MyHomePageState extends State<MyHomePage> {
51
+  int _counter = 0;
52
+
53
+  void _incrementCounter() async {
54
+    setState(() async {
55
+      String destinationLatitude = "18.39007092764153";
56
+      String destinationLongitude = "-65.976216841223";
57
+      String originlatitude = "18.418738017376207";
58
+      String originlongitude = "-66.02565531285634";
59
+
60
+      //const url = 'https://www.google.com/maps/@42.585444,13.007813,6z';
61
+      const url = "https://www.google.com/maps/dir/?api=1&parameters&origin=18.418738017376207,-66.02565531285634&destination=18.39007092764153,-65.976216841223";
62
+      if (await canLaunch(url)) {
63
+      await launch(url);
64
+      } else {
65
+      throw 'Could not launch $url';
66
+      }
67
+
68
+      //String uri = "http://maps.google.com/maps?daddr=" + destinationLatitude + "," + destinationLongitude + " (" + "Doctor" + ")";
69
+      //Intent intent;
70
+      //intent.setAction(Action.ACTION_VIEW);
71
+      //Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
72
+      //intent.setPackage("com.google.android.apps.maps");
73
+      //startActivity(intent);
74
+      //UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!);
75
+      _counter++;
76
+    });
77
+  }
78
+
79
+  @override
80
+  Widget build(BuildContext context) {
81
+    // This method is rerun every time setState is called, for instance as done
82
+    // by the _incrementCounter method above.
83
+    //
84
+    // The Flutter framework has been optimized to make rerunning build methods
85
+    // fast, so that you can just rebuild anything that needs updating rather
86
+    // than having to individually change instances of widgets.
87
+    return Scaffold(
88
+      appBar: AppBar(
89
+        // Here we take the value from the MyHomePage object that was created by
90
+        // the App.build method, and use it to set our appbar title.
91
+        title: Text(widget.title),
92
+      ),
93
+      body: Center(
94
+        // Center is a layout widget. It takes a single child and positions it
95
+        // in the middle of the parent.
96
+        child: Column(
97
+          // Column is also a layout widget. It takes a list of children and
98
+          // arranges them vertically. By default, it sizes itself to fit its
99
+          // children horizontally, and tries to be as tall as its parent.
100
+          //
101
+          // Invoke "debug painting" (press "p" in the console, choose the
102
+          // "Toggle Debug Paint" action from the Flutter Inspector in Android
103
+          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
104
+          // to see the wireframe for each widget.
105
+          //
106
+          // Column has various properties to control how it sizes itself and
107
+          // how it positions its children. Here we use mainAxisAlignment to
108
+          // center the children vertically; the main axis here is the vertical
109
+          // axis because Columns are vertical (the cross axis would be
110
+          // horizontal).
111
+          mainAxisAlignment: MainAxisAlignment.center,
112
+          children: <Widget>[
113
+            Text(
114
+              'You have pushed the button this many times:',
115
+            ),
116
+            Text(
117
+              '$_counter',
118
+              style: Theme.of(context).textTheme.headline4,
119
+            ),
120
+          ],
121
+        ),
122
+      ),
123
+      floatingActionButton: FloatingActionButton(
124
+        onPressed: _incrementCounter,
125
+        tooltip: 'Increment',
126
+        child: Icon(Icons.add),
127
+      ), // This trailing comma makes auto-formatting nicer for build methods.
128
+    );
129
+  }
130
+}
131
+