在Google地图中包含基于Json文件的标记,以助抖动

时间:2019-04-23 19:12:00

标签: google-maps dart flutter

我正在尝试基于Json文件中的字符串向我的地图小部件添加标记。但是,我不知道在.addMarker不再应用后,标记物如何工作。谁能解释一下吗?

1 个答案:

答案 0 :(得分: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);
     },
    );
  );

 }
}

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