浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

Android 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

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));

效果如图:
marker1.gif

Marker动画

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

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

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

//通过LatLng列表构造Transformation对象
Transformation mTransforma = new Transformation(llC, latLng1, llC);

//动画执行时间
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();

展示效果如图:
marker2.gif

加载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);

效果如图:
marker3.gif

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消