我正在尝试创建一个看起来像这样的自定义标记:
我的XML格式如下:
<solid
android:color="#0093e8"/>
<size
android:width="120dp"
android:height="120dp"/>
是否可以添加&#34; Wave效果&#34;标记和波逐渐淡出(如图所示)?此外,这个动画应该不断播放(不需要用户点击地图标记)我将要做什么?谢谢!
答案 0 :(得分:1)
我做了一些非常相似的事情,但我使用了GroundOverlay而不是标记,首先我定义了自定义动画:
public class RadiusAnimation extends Animation {
private GroundOverlay groundOverlay;
public RadiusAnimation(GroundOverlay groundOverlay) {
this.groundOverlay = groundOverlay;
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
groundOverlay.setDimensions( (100 * interpolatedTime) );
groundOverlay.setTransparency( interpolatedTime );
}
@Override
public void initialize(int width, int height, int parentWidth,int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
}
}
然后我在onMapReady之后在groundOverlay上运行动画:
...
groundOverlay = mGoogleMap.addGroundOverlay(new GroundOverlayOptions()
.image(image)
.position(new LatLng(lat, lng), 100));
groundAnimation = new RadiusAnimation(groundOverlay);
groundAnimation.setRepeatCount(Animation.INFINITE);
groundAnimation.setRepeatMode(Animation.RESTART);
groundAnimation.setDuration(2000);
mapView.startAnimation(groundAnimation); // MapView where i show my map
...
我希望这可以帮到你