mirror of
https://bitbucket.org/FransoletThomas/tablet-app.git
synced 2025-12-06 00:21:19 +00:00
Show image from manager as map icon
This commit is contained in:
parent
ff28b7945a
commit
da8b3d88de
@ -1,15 +1,12 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
import 'dart:ui' as ui;
|
|
||||||
import 'package:enum_to_string/enum_to_string.dart';
|
import 'package:enum_to_string/enum_to_string.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
import 'package:managerapi/api.dart';
|
import 'package:managerapi/api.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tablet_app/Models/map-marker.dart';
|
import 'package:tablet_app/Models/map-marker.dart';
|
||||||
import 'package:tablet_app/Screens/Map/map_context.dart';
|
import 'package:tablet_app/Screens/Map/map_context.dart';
|
||||||
import 'package:tablet_app/app_context.dart';
|
|
||||||
|
|
||||||
class GoogleMapView extends StatefulWidget {
|
class GoogleMapView extends StatefulWidget {
|
||||||
final MapDTO mapDTO;
|
final MapDTO mapDTO;
|
||||||
@ -61,8 +58,6 @@ class _GoogleMapViewState extends State<GoogleMapView> {
|
|||||||
BitmapDescriptor.hueYellow,
|
BitmapDescriptor.hueYellow,
|
||||||
),*/
|
),*/
|
||||||
onTap: () {
|
onTap: () {
|
||||||
print('hello you 1');
|
|
||||||
|
|
||||||
//setState(() {
|
//setState(() {
|
||||||
mapContext.setSelectedMarker(
|
mapContext.setSelectedMarker(
|
||||||
new MapMarker(
|
new MapMarker(
|
||||||
@ -97,8 +92,6 @@ class _GoogleMapViewState extends State<GoogleMapView> {
|
|||||||
final mapContext = Provider.of<MapContext>(context);
|
final mapContext = Provider.of<MapContext>(context);
|
||||||
Size size = MediaQuery.of(context).size;
|
Size size = MediaQuery.of(context).size;
|
||||||
|
|
||||||
print(widget.mapDTO);
|
|
||||||
|
|
||||||
return GoogleMap(
|
return GoogleMap(
|
||||||
mapType: widget.mapDTO.mapType != null ? EnumToString.fromString(MapType.values, widget.mapDTO.mapType.toString()): MapType.hybrid,
|
mapType: widget.mapDTO.mapType != null ? EnumToString.fromString(MapType.values, widget.mapDTO.mapType.toString()): MapType.hybrid,
|
||||||
mapToolbarEnabled: false,
|
mapToolbarEnabled: false,
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
|
||||||
import 'package:tablet_app/Models/map-marker.dart';
|
import 'package:tablet_app/Models/map-marker.dart';
|
||||||
|
|
||||||
class MapContext with ChangeNotifier {
|
class MapContext with ChangeNotifier {
|
||||||
|
|||||||
@ -14,7 +14,6 @@ import 'package:tablet_app/Screens/Map/marker_view.dart';
|
|||||||
|
|
||||||
import '../../app_context.dart';
|
import '../../app_context.dart';
|
||||||
import 'google_map_view.dart';
|
import 'google_map_view.dart';
|
||||||
import 'map_context.dart';
|
|
||||||
|
|
||||||
Set<Marker> markers = {};
|
Set<Marker> markers = {};
|
||||||
List<MapMarker> markersList = List();
|
List<MapMarker> markersList = List();
|
||||||
@ -32,8 +31,8 @@ class _MapViewWidget extends State<MapViewWidget> {
|
|||||||
Completer<GoogleMapController> _controller = Completer();
|
Completer<GoogleMapController> _controller = Completer();
|
||||||
Uint8List selectedMarkerIcon;
|
Uint8List selectedMarkerIcon;
|
||||||
|
|
||||||
Future<Uint8List> getBytesFromAsset(String path, int width) async {
|
Future<Uint8List> getBytesFromAsset(ByteData data, int width) async {
|
||||||
ByteData data = await rootBundle.load(path);
|
//ByteData data = await rootBundle.load(path);
|
||||||
ui.Codec codec = await ui.instantiateImageCodec(data.buffer.asUint8List(),
|
ui.Codec codec = await ui.instantiateImageCodec(data.buffer.asUint8List(),
|
||||||
targetWidth: width);
|
targetWidth: width);
|
||||||
ui.FrameInfo fi = await codec.getNextFrame();
|
ui.FrameInfo fi = await codec.getNextFrame();
|
||||||
@ -70,7 +69,7 @@ class _MapViewWidget extends State<MapViewWidget> {
|
|||||||
return Stack(
|
return Stack(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
future: getByteIcon(),
|
future: getByteIcon(mapDTO.iconSource),
|
||||||
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
return GoogleMapView(language: appContext.getContext().language, mapDTO: mapDTO, selectedMarkerIcon: selectedMarkerIcon);
|
return GoogleMapView(language: appContext.getContext().language, mapDTO: mapDTO, selectedMarkerIcon: selectedMarkerIcon);
|
||||||
@ -95,8 +94,9 @@ class _MapViewWidget extends State<MapViewWidget> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
getByteIcon() async {
|
getByteIcon(String source) async {
|
||||||
selectedMarkerIcon = await getBytesFromAsset('assets/images/strawberry.png', 50);
|
final ByteData imageData = await NetworkAssetBundle(Uri.parse(source)).load("");
|
||||||
|
selectedMarkerIcon = await getBytesFromAsset(imageData, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Future<void> _goToTheLake() async {
|
/*Future<void> _goToTheLake() async {
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
import 'dart:async';
|
|
||||||
import 'package:carousel_slider/carousel_slider.dart';
|
import 'package:carousel_slider/carousel_slider.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:managerapi/api.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tablet_app/Models/map-marker.dart';
|
import 'package:tablet_app/Models/map-marker.dart';
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:managerapi/api.dart';
|
import 'package:managerapi/api.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tablet_app/Helpers/MQTTHelper.dart';
|
|
||||||
import 'package:tablet_app/client.dart';
|
import 'package:tablet_app/client.dart';
|
||||||
import 'Helpers/DatabaseHelper.dart';
|
import 'Helpers/DatabaseHelper.dart';
|
||||||
import 'Models/tabletContext.dart';
|
import 'Models/tabletContext.dart';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user