flutter_animarker无法关闭波纹动画



https://pub.dev/packages/flutter_animarker

哇,这太烦人了。所以Animarker是我的Google地图的Widget父级。地图上有很多标记。当用户需要从抽屉中找到特定标记时,他们点击项目&它会在相应的标记中触发涟漪效果。

问题是它从未停止波动。如果用户继续点击,它甚至会尝试为几个标记设置动画。

动画刚开始是爱,但现在我要爬墙了!

Animarker(
isActiveTrip: rippleAnimationActive,
rippleRadius: 0.5,  //[0,1.0] range, how big is the circle
rippleColor: Colors.teal, // Color of fade ripple circle
rippleDuration: Duration(milliseconds: 2500), //Pulse ripple duration
markers: animatedMarkerSet,
mapId: _mapController.future.then<int>((value) => value.mapId),
child: GoogleMap(
key: Key("myGoogleMap"),
mapType: MapType.hybrid,
initialCameraPosition: _edinburghCamera,
markers: _markers,
myLocationEnabled: true,
onMapCreated: (GoogleMapController controller) {
_mapController.complete(controller);
},
),
),

我在Tap((上触发抽屉项目中的动画:

onTap: () {
animatedMarkerSet = {
RippleMarker(
markerId: MarkerId(presentLocation.name),
position: presentLocation.latLng,
ripple: true) };
setState(() {
presentLocation = _location;
animatedMarkerSet;
rippleAnimationActive = true;
});
//setState(() => _markers.add(marker));
Navigator.of(context).pop();
},

您可以看到,我创建了一个全新的标记来设置动画,并将其添加到已设置动画的MarkerSet中。这很好用。

当用户点击标记时,任何标记都会向上滑动有关位置的详细信息。我尝试停用正在波动的ANY标记。然而,无论我尝试什么,它都不会停止:

setState(() {
rippleAnimationActive = false;
animatedMarkerSet.clear(); // nuke from orbit
}

我还尝试过将animatedMarkerSet更改为Map,并尝试使用以下方法停用波纹:

void newLocationUpdate(LocationDetails oldLocation) {
var marker = RippleMarker(
markerId: MarkerId(oldLocation.name),
position: oldLocation.latLng,
ripple: false,
);
setState(() => animatedMarkerMap[MarkerId(oldLocation.name)] = marker);
}

但这也不起作用。

我真的真的只需要打开和关闭动画。我不明白为什么Animarker对setState()如此抗拒,让它停止。

事实上,在任何情况下,最好的办法可能是让它运行5秒,然后关闭,但我也不知道如何做到这一点。Grrrr!

好吧,我想明白了。AniMarker是最终的动画标记集。因此,一旦你递给它一组RippleMarkers,它就会为它们设置动画,但你不能通过SetState()调用将其关闭。

我试着编辑AniMarker类,使其不是最终的,这样你就可以改变它的数据集,但我认为,因为它是建立在GoogleMap的Marker类上的,而且它们是最终的,所以它不会起作用。

因此AniMarker目前的效用有限。

我的工作只是改变谷歌地图marker:选项,这样我就可以通过更改标记的颜色来突出显示它。也可以更改circles:GoogleMap选项,根据用户交互动态高亮显示标记。

相关内容

  • 没有找到相关文章

最新更新