如何更新标记位置 google maps flutter

How to update marker position google maps flutter

我想使用自定义标记作为用户位置。我正在收听位置事件,每次移动我都想在此标记上设置新的 lat/lon 。但是我没有看到任何更新标记位置的选项。我怎样才能做到这一点?我试过删除当前标记并添加一个新标记,但是我不想要丑陋的闪光效果。

  final marker = Marker(
        markerId: MarkerId('1'),
        position: LatLng(_latitude, _longitude),
        icon: await customIcon()
    );

    setState(() {
      _markers.add(marker);
    });
    _location.onLocationChanged.listen((event) async {
      //here I want to update the marker lat lng with new event.latitude and event.longitude
    });

尝试以下方法

_location.onLocationChanged.listen((event) async {
      final newMarker = Marker(
        markerId: MarkerId('1'),
        position: LatLng(event.latitude, event.longitude),
        icon: await customIcon()
      );

      final oldMarkerIndex = _markers.indexWhere((marker) => marker.markerId == MarkerId('1'));
      if(oldMarkerIndex >= 0) { // If it exists
        setState(() { 
          _markers[oldMarkerIndex] = newMarker;
        });
      }
    });