Атрибут markers:
в виджете Flutter_Google_maps теперь принимает Set<Marker>()
.
чтобы добавить маркеры, сначала вы должны создать пустой Set
типа Marker
и назначить его атрибуту markers:
в виджете карт Google. Следовательно, вы добавляете желаемый Marker()
к созданному набору, используя метод add()
. Наконец, вы используете setState()
для перестройки виджета и отображения обновленных маркеров, установленных в пользовательском интерфейсе.
Пример:
class MapsScreen extends StatefulWidget {
@override
_MapsScreenState createState() => _MapsScreenState();
}
class _MapsScreenState extends State<MapsScreen> {
Completer<GoogleMapController> _mapsController = Completer();
Set<Marker> _myMarkers = Set<Marker>();
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {
_myMakers.add(
markerId: MarkerId("current"),
position: LatLng(yourLatitude, yourLongitude),
);
setState((){});
)},
),
body: GoogleMap(
initialCameraPosition: _anyCameraPosition,
markers: _myMarkers,
onMapCreated: (GoogleMapController controller) {
_mapsController.complete(controller);
},
);
);
}
}
у вас есть возможность использовать любой шаблон управления состоянием, который вы предпочитаете.