Google Maps Android API v2:通过ValueAnimator的帮助可视化搜索半径 [英] Google Maps Android API v2: Visualizing the search radius with the helping of ValueAnimator
问题描述
我想为Google地图视图添加一个动画圈,类似于您在此图片上看到的圈子。
圆圈应该从中心脉动到最大半径,表示当前用户的位置和搜索区域。
这里是相关的代码块
$ pre $ Circle circle = mMap.addCircle(new CircleOptions()
.center(new LatLng(lat,lon ))
.strokeColor(Color.CYAN).radius(1000));
valueAnimator = new ValueAnimator();
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator){
float animatedFraction = valueAnimator.getAnimatedFraction();
circle.setRadius(animatedFraction * 1000);
circle.setStrokeWidth(1 + animatedFraction * 7);
}
});
使用此代码,我只能看到没有任何动画的静态圆形笔画。
任何帮助将不胜感激。
在此先感谢。
简单地说:)
<$ (Circle)=圆形圆(Circle)圆形圆(Circle Circle Circle)()。
ValueAnimator vAnimator = new ValueAnimator();
vAnimator.setRepeatCount(ValueAnimator.INFINITE);
vAnimator.setRepeatMode(ValueAnimator.RESTART); / * PULSE * /
vAnimator.setIntValues(0,100);
vAnimator.setDuration(1000);
vAnimator.setEvaluator(new IntEvaluator());
vAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
vAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator){
float animatedFraction = valueAnimator.getAnimatedFraction();
// Log.e(,+ animatedFraction);
circle.setRadius(animatedFraction * 100);
}
});
vAnimator.start();
I want to add an animated circle to Google Maps view similar to the circle you see on this image.
The circle should be pulsing from the center to the largest radius indicating current user's location and the area of searching.
Here is relevant code block
Circle circle = mMap.addCircle(new CircleOptions()
.center(new LatLng(lat, lon))
.strokeColor(Color.CYAN).radius(1000));
valueAnimator = new ValueAnimator();
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float animatedFraction = valueAnimator.getAnimatedFraction();
circle.setRadius(animatedFraction * 1000);
circle.setStrokeWidth(1 + animatedFraction * 7);
}
});
With this code I am only able to see static circle stroke without any animation.
Any help will be appreciated. Thanks in advance.
Simply :)
final Circle circle = MAP.addCircle(new CircleOptions().center(EGYPT)
.strokeColor(Color.CYAN).radius(100));
ValueAnimator vAnimator = new ValueAnimator();
vAnimator.setRepeatCount(ValueAnimator.INFINITE);
vAnimator.setRepeatMode(ValueAnimator.RESTART); /* PULSE */
vAnimator.setIntValues(0, 100);
vAnimator.setDuration(1000);
vAnimator.setEvaluator(new IntEvaluator());
vAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
vAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float animatedFraction = valueAnimator.getAnimatedFraction();
// Log.e("", "" + animatedFraction);
circle.setRadius(animatedFraction * 100);
}
});
vAnimator.start();
这篇关于Google Maps Android API v2:通过ValueAnimator的帮助可视化搜索半径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!