mirror of
https://github.com/supleed2/ELEC60013-ES-CW1.git
synced 2024-11-10 01:35:50 +00:00
Added marker on map to show pet location
This commit is contained in:
parent
d3381b2e46
commit
5431d765d4
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:firebase_auth/firebase_auth.dart';
|
||||
import 'package:leg_barkr_app/view/metrics/metrics_page.dart';
|
||||
import 'package:leg_barkr_app/view/steps/steps_page.dart';
|
||||
import 'package:leg_barkr_app/view/map_page.dart';
|
||||
import 'package:leg_barkr_app/view/map/map_page.dart';
|
||||
import 'package:leg_barkr_app/view/settings_page.dart';
|
||||
|
||||
class HomeScreen extends StatefulWidget {
|
||||
|
|
10
lib/model/latitude_longitude.dart
Normal file
10
lib/model/latitude_longitude.dart
Normal file
|
@ -0,0 +1,10 @@
|
|||
class LatitudeLongitude {
|
||||
double latitude;
|
||||
double longitude;
|
||||
|
||||
LatitudeLongitude(this.latitude, this.longitude);
|
||||
|
||||
factory LatitudeLongitude.fromJson(Map<String, dynamic> parsedJson){
|
||||
return LatitudeLongitude(parsedJson['latitude'], parsedJson['longitude']);
|
||||
}
|
||||
}
|
21
lib/service/map_service.dart
Normal file
21
lib/service/map_service.dart
Normal file
|
@ -0,0 +1,21 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:leg_barkr_app/model/latitude_longitude.dart';
|
||||
import 'package:leg_barkr_app/utils/endpoints.dart' as Endpoints;
|
||||
|
||||
|
||||
class MapService{
|
||||
Future<LatitudeLongitude> getLastLocation(deviceId) async {
|
||||
final response = await http.get(
|
||||
Uri.parse(Endpoints.getLastLocation),
|
||||
headers: <String, String>{
|
||||
'Content-Type': 'application/json; charset=UTF-8',
|
||||
'deviceid': deviceId,
|
||||
},
|
||||
);
|
||||
print(response.body);
|
||||
return LatitudeLongitude.fromJson(jsonDecode(response.body));
|
||||
|
||||
}
|
||||
}
|
|
@ -1,3 +1,5 @@
|
|||
const String home = "https://leg-barkr.nw.r.appspot.com/";
|
||||
const String register = "https://leg-barkr.nw.r.appspot.com/authentication/register";
|
||||
const String verify = "https://leg-barkr.nw.r.appspot.com/authentication/verify";
|
||||
const String getLastLocation = "https://leg-barkr.nw.r.appspot.com/readings/last/location";
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||
import 'package:leg_barkr_app/service/map_service.dart';
|
||||
|
||||
class MapPage extends StatefulWidget {
|
||||
const MapPage({ Key? key }) : super(key: key);
|
||||
|
@ -14,8 +15,23 @@ class _MapPageState extends State<MapPage> {
|
|||
// This will be changed, to center around the dog (once app reads metrics from the server)
|
||||
final LatLng _center = const LatLng(51.498356, -0.176894);
|
||||
|
||||
void _onMapCreated(GoogleMapController mapController) {
|
||||
_mapController = mapController;
|
||||
final Map<String, Marker> _markers = {};
|
||||
|
||||
Future<void> _onMapCreated(GoogleMapController controller) async {
|
||||
final lastLocation = await MapService().getLastLocation("132-567-001"); // change this.
|
||||
setState(() {
|
||||
_markers.clear();
|
||||
print(lastLocation.longitude);
|
||||
final petMarker = Marker(
|
||||
markerId: MarkerId("pet_location"),
|
||||
position: LatLng(lastLocation.latitude, lastLocation.longitude),
|
||||
infoWindow: InfoWindow(
|
||||
title: "Pet location",
|
||||
),
|
||||
);
|
||||
_markers["pet_location"] = petMarker;
|
||||
print(_markers["pet_location"]);
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -28,6 +44,7 @@ class _MapPageState extends State<MapPage> {
|
|||
target: _center,
|
||||
zoom: 16.0,
|
||||
),
|
||||
markers: _markers.values.toSet(),
|
||||
),
|
||||
),
|
||||
);
|
147
pubspec.lock
147
pubspec.lock
|
@ -1,6 +1,27 @@
|
|||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
_fe_analyzer_shared:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: _fe_analyzer_shared
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "34.0.0"
|
||||
analyzer:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: analyzer
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.2.0"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: args
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.3.0"
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -15,6 +36,20 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
build:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: build
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
build_config:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: build_config
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -43,6 +78,20 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.12.0"
|
||||
checked_yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: checked_yaml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
cli_util:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cli_util
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.5"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -57,6 +106,20 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.15.0"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: convert
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
crypto:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: crypto
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
csslib:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -71,6 +134,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
dart_style:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dart_style
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -78,6 +148,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.1.2"
|
||||
firebase_auth:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -149,6 +226,13 @@ packages:
|
|||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
glob:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: glob
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
google_maps:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -219,6 +303,20 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.7.4"
|
||||
json_annotation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: json_annotation
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.4.0"
|
||||
json_serializable:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: json_serializable
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.1.4"
|
||||
lints:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -254,6 +352,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.7.0"
|
||||
package_config:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_config
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -275,6 +380,20 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
pub_semver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pub_semver
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
pubspec_parse:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pubspec_parse
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
sanitize_html:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -287,6 +406,20 @@ packages:
|
|||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.99"
|
||||
source_gen:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_gen
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
source_helper:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_helper
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.1"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -364,6 +497,20 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: watcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: yaml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
sdks:
|
||||
dart: ">=2.16.0 <3.0.0"
|
||||
flutter: ">=2.5.0"
|
||||
|
|
|
@ -41,6 +41,7 @@ dependencies:
|
|||
http: ^0.13.4
|
||||
firebase_core: ^1.12.0
|
||||
firebase_auth: ^3.3.7
|
||||
json_serializable: ^6.1.4
|
||||
|
||||
|
||||
dev_dependencies:
|
||||
|
|
Loading…
Reference in a new issue