需求:仿地图,地图放缩移动,但地图上的mark不放缩
onInteractionUpdate回调可以得到实时的缩放比例。但有一个坑,通过ScaleUpdateDetails获得scale不是实时的比例。因为details.scale 是相对于当前交互的,这会带来一个问题,当放缩到一半松手后再次放缩这时的scale是1而不是累加。
所以我们采用transformationController获得变换的scale和水平、竖直方向的偏移量
根据InteractiveViewer实现缩放和移动是通过Matrix4的矩阵变换实现的。所以我们只需要反向计算marker的坐标再重新绘制就可以了。反向计算坐标的方法如下:
还有一个简便方法,直接除以缩放比即可