我遵循了本教程:https://www.youtube.com/watch?v=MYHVyl-juUk。 您不必看它-只是问自己为什么要这么做。
本教程中的地图插件版本为^0.2.0
当前版本为^0.5.3
mapController
似乎有问题。在一个地方,允许mapController
。我用** code
**
build(context) {
return Stack(children: [
GoogleMap(
initialCameraPosition:
CameraPosition(target: LatLng(24.150, -110.32), zoom: 10),
onMapCreated: _onMapCreated,
myLocationEnabled: true,
mapType: MapType.normal,
** trackCameraPosition: true), ** //maybe because of the new version?
Positioned(
bottom: 50,
right: 10,
child: FlatButton(
child: Icon(Icons.pin_drop),
color: Colors.green,
onPressed: () => _addMarker()),
),
]);
}
void _onMapCreated(GoogleMapController controller) {
setState(() {
mapController = controller;
});
}
}
_addMarker() {
var marker = ** MarkerOptions(**
position: **mapController.cameraPosition.target,**
icon: BitmapDescriptor.defaultMarker,
infoWindowText: **InfoWindowText('Magic Marker')**
);
** mapController.addMarker(marker); **
}
我将_addMarker()
函数更改为此(再次用** code
**标记问题):
_addMarker() {
var marker = Marker(
markerId: MarkerId('test'),
** position: mapController.cameraPosition.target, **
icon: BitmapDescriptor.defaultMarker,
infoWindow: InfoWindow(title: 'hello'),
);
** mapController.addMarker(marker); **
}
(因为Marker
的文档具有与教程中的MarkerOptions
类似的属性)
现在和将来如何解决此问题?
亲切的问候