全部服务产品
开发者频道
定价
登录
点标记动画
下载开发文档
Marker帧动画

自v3.3.0版本起,SDK提供了给Marker增加帧动画的功能,通过MarkerOptions类来设置,一次传入一个Icon列表,通过period设定刷新的帧间隔。
示例代码如下:

//构造Icon列表
// 初始化bitmap 信息,不用时及时 recycle
BitmapDescriptor bdA = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka);
BitmapDescriptor bdB = BitmapDescriptorFactory.fromResource(R.drawable.icon_markb);
BitmapDescriptor bdC = BitmapDescriptorFactory.fromResource(R.drawable.icon_markc);
ArrayList<BitmapDescriptor> giflist = new ArrayList<BitmapDescriptor>();
giflist.add(bdA);
giflist.add(bdB);
giflist.add(bdC);
//Marker位置坐标
LatLng llD = new LatLng(39.906965, 116.401394);
//构造MarkerOptions对象
MarkerOptions ooD = new MarkerOptions()
.position(llD)
.icons(giflist)
.zIndex(0)
.period(20);//定义刷新的帧间隔
//在地图上展示包含帧动画的Marker
Overlay mMarkerD = (Marker) (mBaiduMap.addOverlay(ooD));

运行结果如下:

Marker帧动画
Marker动画

除了可以自定义的帧动画,Marker还支持设置旋转、缩放、平移、透明、和组合动画效果。通过Marker类setAnimation方法设置。

Transformation平移
RotateAnimation旋转
ScaleAnimation缩放
SingleScaleAnimationX 或 Y 轴方向单独缩放
AlphaAnimation透明
AnimationSet动画集合

平移动画效果的示例代码如下:

//通过LatLng列表构造Transformation对象
Transformation mTransforma = new Transformation(latLng0, latLng1, latLng2);
//动画执行时间
mTransforma.setDuration(500);
//动画重复模式
mTransforma.setRepeatMode(Animation.RepeatMode.RESTART);
//动画重复次数
mTransforma.setRepeatCount(1);
//根据开发需要设置动画监听
mTransforma.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart() {
}
@Override
public void onAnimationEnd() {
}
@Override
public void onAnimationCancel() {
}
@Override
public void onAnimationRepeat() {
}
});
//设置动画
mMarkerC.setAnimation(mTransforma);
//开启动画
mMarkerC.startAnimation();

展示效果如图:

平移动画
加载Marker时增加动画

自v3.6.0版本起,SDK提供了加载Marker时的动画效果,有如下四种效果供开发者选择:

字段效果
MarkerAnimateType.none无效果
MarkerAnimateType.drop从天上掉下
MarkerAnimateType.grow从地下生长
MarkerAnimateType.jump跳跃

通过MarkerOptions类animateType方法设置。
示例代码如下:

MarkerOptions ooA = new MarkerOptions()
.position(llA)
.icon(bdA)
//设置掉下动画
ooA.animateType(MarkerAnimateType.drop);

效果如图:

通过MarkerOptions类animateType方法设置

上一篇

添加文字和信息窗

下一篇

点聚合

本篇文章对您是否有帮助?