Show image from manager as map icon

This commit is contained in:
Thomas Fransolet 2021-08-24 18:36:57 +02:00
parent ff28b7945a
commit da8b3d88de
5 changed files with 6 additions and 19 deletions

View File

@ -1,15 +1,12 @@
import 'dart:async';
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:enum_to_string/enum_to_string.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:managerapi/api.dart';
import 'package:provider/provider.dart';
import 'package:tablet_app/Models/map-marker.dart';
import 'package:tablet_app/Screens/Map/map_context.dart';
import 'package:tablet_app/app_context.dart';
class GoogleMapView extends StatefulWidget {
final MapDTO mapDTO;
@ -61,8 +58,6 @@ class _GoogleMapViewState extends State<GoogleMapView> {
BitmapDescriptor.hueYellow,
),*/
onTap: () {
print('hello you 1');
//setState(() {
mapContext.setSelectedMarker(
new MapMarker(
@ -97,8 +92,6 @@ class _GoogleMapViewState extends State<GoogleMapView> {
final mapContext = Provider.of<MapContext>(context);
Size size = MediaQuery.of(context).size;
print(widget.mapDTO);
return GoogleMap(
mapType: widget.mapDTO.mapType != null ? EnumToString.fromString(MapType.values, widget.mapDTO.mapType.toString()): MapType.hybrid,
mapToolbarEnabled: false,

View File

@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:tablet_app/Models/map-marker.dart';
class MapContext with ChangeNotifier {

View File

@ -14,7 +14,6 @@ import 'package:tablet_app/Screens/Map/marker_view.dart';
import '../../app_context.dart';
import 'google_map_view.dart';
import 'map_context.dart';
Set<Marker> markers = {};
List<MapMarker> markersList = List();
@ -32,8 +31,8 @@ class _MapViewWidget extends State<MapViewWidget> {
Completer<GoogleMapController> _controller = Completer();
Uint8List selectedMarkerIcon;
Future<Uint8List> getBytesFromAsset(String path, int width) async {
ByteData data = await rootBundle.load(path);
Future<Uint8List> getBytesFromAsset(ByteData data, int width) async {
//ByteData data = await rootBundle.load(path);
ui.Codec codec = await ui.instantiateImageCodec(data.buffer.asUint8List(),
targetWidth: width);
ui.FrameInfo fi = await codec.getNextFrame();
@ -70,7 +69,7 @@ class _MapViewWidget extends State<MapViewWidget> {
return Stack(
children: <Widget>[
FutureBuilder(
future: getByteIcon(),
future: getByteIcon(mapDTO.iconSource),
builder: (context, AsyncSnapshot<dynamic> snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return GoogleMapView(language: appContext.getContext().language, mapDTO: mapDTO, selectedMarkerIcon: selectedMarkerIcon);
@ -95,8 +94,9 @@ class _MapViewWidget extends State<MapViewWidget> {
);
}
getByteIcon() async {
selectedMarkerIcon = await getBytesFromAsset('assets/images/strawberry.png', 50);
getByteIcon(String source) async {
final ByteData imageData = await NetworkAssetBundle(Uri.parse(source)).load("");
selectedMarkerIcon = await getBytesFromAsset(imageData, 50);
}
/*Future<void> _goToTheLake() async {

View File

@ -1,7 +1,5 @@
import 'dart:async';
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
import 'package:managerapi/api.dart';
import 'package:provider/provider.dart';
import 'package:tablet_app/Models/map-marker.dart';

View File

@ -1,9 +1,6 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:managerapi/api.dart';
import 'package:provider/provider.dart';
import 'package:tablet_app/Helpers/MQTTHelper.dart';
import 'package:tablet_app/client.dart';
import 'Helpers/DatabaseHelper.dart';
import 'Models/tabletContext.dart';