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

文档全面上新

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

体验新版
点标记缩放动画
功能场景
需要在地图上突出展示位置信息时可使用此功能。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/Android点标记缩放动画.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/点标记缩放.png
扫码体验
使用产品
Android地图SDK|/index.php?title=androidsdk
>
点标记动画|/index.php?title=androidsdk/guide/render-map/animation
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/BaiduMapSDKExample.zip
核心接口
接口
描述
MarkerOptions
icon(BitmapDescriptor icon)
设置marker图标
MarkerOptions
position(LatLng position)
设置 marker 覆盖物的位置坐标
Marker
setAnimation(Animation animation)
设置Marker动画
Marker
startAnimation()
开始播放动画
Marker
cancelAnimation()
取消动画
ScaleAnimation
setDuration(long duration)
设置动画播放时间
ScaleAnimation
setRepeatCount(int repeatCount)
设置动画重复次数
ScaleAnimation
setRepeatMode(RepeatMode repeatMode)
设置动画重复播放模式
Animation.AnimationListener
onAnimationStart()
动画开始回调
Animation.AnimationListener
onAnimationEnd()
动画结束回调
Animation.AnimationListener
onAnimationCancel()
动画取消回调
Animation.AnimationListener
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);
        }
    });
}
                
复制
深色
复制成功
更多功能
添加文字和信息窗|/index.php?title=androidsdk/guide/render-map/text
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消