产品服务
解决方案
文档与支持
定价

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
点标记缩放动画
功能场景
需要在地图上突出展示位置信息时可使用此功能。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/Android点标记缩放动画.mp4
扫码体验
下载源码
核心接口
接口
描述
icon(BitmapDescriptor icon)
设置marker图标
MarkerOptions
position(LatLng position)
设置 marker 覆盖物的位置坐标
setAnimation(Animation animation)
设置Marker动画
Marker
startAnimation()
开始播放动画
cancelAnimation()
取消动画
setDuration(long duration)
设置动画播放时间
ScaleAnimation
setRepeatCount(int repeatCount)
设置动画重复次数
setRepeatMode(RepeatMode repeatMode)
设置动画重复播放模式
onAnimationStart()
动画开始回调
onAnimationEnd()
动画结束回调
Animation.AnimationListener
onAnimationCancel()
动画取消回调
onAnimationRepeat()
动画重复回调
核心代码
1.创建动画
JAVA
/**
* 创建缩放动画
*/
private Animation createScaleAnimation() {
    ScaleAnimation scaleAnimation = new ScaleAnimation(1f, 2f, 1f);
    scaleAnimation.setDuration(2000);   // 动画播放时间
    scaleAnimation.setRepeatCount(2000);
    scaleAnimation.setRepeatMode(Animation.RepeatMode.RESTART); // 动画重复模式
    scaleAnimation.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart() {
        }

        @Override
        public void onAnimationEnd() {
        }

        @Override
        public void onAnimationCancel() {
        }

        @Override
        public void onAnimationRepeat() {
        }
    });
    return scaleAnimation;
}

mMarker.cancelAnimation();
mMarker.setAnimation(mAnimation);
mMarker.startAnimation();            
}
                
复制
深色
复制成功
2.初始化view,设置动画控制监听
JAVA
private void initView() {
    mMapView = findViewById(R.id.mapview);
    mAddAniLayout = findViewById(R.id.add_ani);
    mAddAniLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mMarker.cancelAnimation();
            mMarker.setAnimation(mAnimation);
            mMarker.startAnimation();
        }
    });

    mRemoveAniLayout = findViewById(R.id.remove_ani);
    mRemoveAniLayout.setOnClickListener(new View.OnClickListener() {
        /**
            * Called when a view has been clicked.
            *
            * @param v The view that was clicked.
            */
        @Override
        public void onClick(View v) {
            mMarker.cancelAnimation();
            mMarker.setScale(1.0f);
        }
    });
}
                
复制
深色
复制成功
更多功能
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消