场景:
需要在地图定位点添加一个向外扩散的水波纹效果。如图
问题:
如何实现在一个点添加一个向外扩散的动画?
实现方案:
解决思路:首先看下高德地图的demo,该demo展示了在3D地图上如何实现定位圈向外扩展的动画效果。但是无法实现图上的效果。
https://lbs.amap.com/dev/demo/location-circle#Android
我们的思路是,添加多个圆,然后间隔执行扩散动画。即可实现图上的效果。
第一步:创建一个工具类,复制以下代码到创建的工具类
private List<Circle> circleList;//圆集合
private ValueAnimator valueAnimator;//动画工具
/**
* 添加水波纹效果
*
* @param latLng 要展示扩散效果的点经纬度
* AMap aMap:高德地图
*/
public void addWaveAnimation(LatLng latLng, AMap aMap) {
circleList = new ArrayList<>();
int radius = 50;
for (int i = 0; i < 4; i++) {
radius = radius + 50 * i;
circleList.add(CircleBuilder.addCircle(latLng, radius, aMap));
}
valueAnimator = AnimatorUtil.getV