【发布时间】:2022-01-19 06:00:02
【问题描述】:
我在 Flutter 中有以下谷歌地图类。
class ExchangeHousesMap extends StatefulWidget {
final List<Marker> markers;
final double initialLatitude;
final double initialLongitude;
const ExchangeHousesMap({
Key? key,
required this.initialLatitude,
required this.initialLongitude,
required this.markers,
}) : super(key: key);
@override
State<ExchangeHousesMap> createState() => ExchangeHousesMapState();
}
class ExchangeHousesMapState extends State<ExchangeHousesMap> {
late final CameraPosition _initialCameraPosition;
late final Set<Marker> _markers = {};
final Completer<GoogleMapController> _controller = Completer();
@override
void initState() {
super.initState();
_initialCameraPosition = CameraPosition(
target: LatLng(widget.initialLatitude, widget.initialLongitude),
zoom: 12,
);
}
@override
Widget build(BuildContext context) {
return GoogleMap(
mapType: MapType.normal,
initialCameraPosition: _initialCameraPosition,
markers: _markers,
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
setState(
() {
_markers.addAll(widget.markers);
_markers.add(
Marker(
markerId: const MarkerId('user-marker'),
position: LatLng(widget.initialLatitude, widget.initialLongitude),
),
);
},
);
},
);
}
}
我将此谷歌地图呈现为父窗口小部件的子窗口。我想在此地图中添加一个新标记在点击父窗口小部件中的按钮时。
我不知道该怎么做。如何在点击父窗口小部件中的该按钮时将标记添加到此地图?
有人可以帮忙吗?
【问题讨论】:
标签: flutter flutter-dependencies flutter-state fluttermap flutter-future