Я использую плагин Google Maps в Flutter, и все работает нормально (карта, смена местоположения и т. Д. c.), Но я не вижу свой собственный маркер. Даже когда я не меняю значок маркера, я не вижу его. Я также использовал метод с UInt8, но там его тоже не было видно. Что мне нужно изменить, чтобы я мог видеть маркер?
Код:
import 'dart:async';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:flutter/services.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:location/location.dart';
class Karte extends StatefulWidget {
@override
_KarteState createState() => _KarteState();
}
class _KarteState extends State<Karte> {
StreamSubscription _locationSubscription;
Location _locationtracker = Location();
Marker marker;
Circle circle;
GoogleMapController _controller;
static final CameraPosition initialLocation = CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
zoom: 14.4746,
);
void updateMarkerAndCircle(LocationData newLocalData){
LatLng latlng = LatLng(newLocalData.latitude, newLocalData.longitude);
this.setState((){
marker = Marker(
markerId: MarkerId("home"),
position: latlng,
rotation: newLocalData.heading,
draggable: false,
zIndex: 2,
flat: true,
anchor: Offset(0.5, 0.5));
icon: BitmapDescriptor.fromAsset("assets/car_icon.png");
circle = Circle(
circleId: CircleId("car"),
radius: newLocalData.accuracy,
zIndex: 1,
strokeColor: Colors.blue,
center: latlng,
fillColor: Colors.blue.withAlpha(70));
});
}
void getCurrentLocation() async{
try{
var location = await _locationtracker.getLocation();
updateMarkerAndCircle(location);
if (_locationSubscription != null) {
_locationSubscription.cancel();
}
_locationSubscription = _locationtracker.onLocationChanged().listen((newLocalData){
if(_controller != null){
_controller.animateCamera(CameraUpdate.newCameraPosition(new CameraPosition(
bearing: 192.8334901395799,
target: LatLng(newLocalData.latitude, newLocalData.longitude),
tilt: 0,
zoom: 18.00)));
}
});
} on PlatformException catch (e){
if (e.code == 'PERMISSION_DENIED') {
debugPrint("Berechtigung benötigt");
}
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: GoogleMap(
mapType: MapType.hybrid,
initialCameraPosition: initialLocation,
onMapCreated: (GoogleMapController controller){
_controller = controller;
},
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.location_searching),
onPressed: getCurrentLocation,
),
);
}
}