相关疑难解决方法(0)

Google Maps Android API v2:借助ValueAnimator可视化搜索半径

我想在Google地图视图中添加一个动画圆圈,类似于您在此图片上看到的圆圈.

在此输入图像描述

圆圈应从中心脉动到最大半径,表示当前用户的位置和搜索区域.

这是相关的代码块

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);
         }
        });
Run Code Online (Sandbox Code Playgroud)

使用此代码,我只能看到没有任何动画的静态圆形笔划.

任何帮助将不胜感激.提前致谢.

android google-maps google-maps-api-2 android-animation

9
推荐指数
1
解决办法
5317
查看次数

当搜索栏更改尺寸时,Google地图for Android v2上的圆圈会闪烁

我正在实现一种方法,在Android中使用此方法在Google Map(v2)上显示搜索半径:

// Method for drawing a circle around the user
private void drawMapSearchRadius(int radius) {
    if(mMap != null) {
        final LatLng userLatLng = getUserLatLng();
        if(mSearchCircle == null){
            CircleOptions circleOptions = new CircleOptions();
            circleOptions.fillColor(Color.parseColor("#447755ff"));
            circleOptions.strokeColor(Color.TRANSPARENT);
            circleOptions.center(userLatLng);
            circleOptions.radius(radius);
            mSearchCircle = mMap.addCircle(circleOptions);
        } else {
            mSearchCircle.setCenter(userLatLng);
            mSearchCircle.setRadius(radius);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

半径是用SeekBar确定的,就像这样(我删除了一些不相关的代码):

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    final int radius = progress + DEFAULT_MIN_RADIUS;
    drawMapSearchRadius(radius);
...
Run Code Online (Sandbox Code Playgroud)

当我滑动SeekBar时,圆的半径会按预期变化,但它会明显闪烁很多.它的外观和感觉非常糟糕.

有没有人遇到过这个错误,可以告诉我我做错了什么或者我能做些什么来限制,或者在最好的情况下,消除圆圈闪烁?

提前致谢

编辑:显然这是一个存在超过一年的错误,谷歌上个月承认.

由于谷歌不是很快就能修复这样的错误,所以我没有希望解决这个问题.所以我想我的问题正在改变:有什么办法可以解决这个问题吗?

geometry android google-maps shape

5
推荐指数
1
解决办法
912
查看次数