在谷歌地图中包含基于Json文件的flutter标记

问题描述 投票:1回答:1

我正在尝试根据Json文件中的字符串向我的地图窗口小部件添加标记。但是我不知道.addMarker不再应用后标记物是如何工作的。有人可以解释一下吗?

google-maps dart flutter
1个回答
2
投票

Flutter_Google_maps小部件中的markers:属性现在需要一个Set<Marker>()

要添加标记,首先应创建一个Set类型的空Marker,并将其分配给google maps小部件中的markers:属性。因此,使用Marker()方法将所需的add()附加到创建的集合中。最后,使用setState()重建窗口小部件并在UI上显示更新的标记集。

例:

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);
     },
    );
  );

 }
}

您可以选择使用您喜欢的任何状态管理模式。

© www.soinside.com 2019 - 2024. All rights reserved.