Android谷歌地图顺利改变圆形半径

use*_*835 1 android google-maps

我有一张地图,我需要绘制圆圈.问题是圆圈应该可以调整大小(例如我有一个seekbar并且基于seekbar值我应该看到我的圆形尺寸(半径)如何变化).我知道如何绘制一个圆圈,但我无法想象如何使圆圈动态调整大小.可能吗?

在这里编辑如何将圆圈添加到我的地图中

@Override
    public void onMapClick(LatLng latLng) {
        mMap.addCircle(new CircleOptions()
                .center(latLng)
                .radius(100)
                .strokeWidth(0)
                .fillColor(0x66aaaFFF));
    }
Run Code Online (Sandbox Code Playgroud)

你可以看到我每次点击地图时都将半径设置为100.但是,半径应该改变,并且应根据搜索条值平滑地绘制圆

ant*_*nio 8

你可以把它dinamycally可调整大小的使用改变圆半径setRadius方法上onProgressChangedOnSeekBarChangeListener:

private Circle circle;

circle = mMap.addCircle(new CircleOptions()
    .center(new LatLng(52, 5))
    .fillColor(Color.RED)
    .radius(100));

AppCompatSeekBar progress = (AppCompatSeekBar) findViewById(R.id.progress);
progress.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        circle.setRadius(progress);
    }

    @Override
    public void onStartTrackingTouch(final SeekBar seekBar) {
    }

    @Override
    public void onStopTrackingTouch(final SeekBar seekBar) {
    }
});
Run Code Online (Sandbox Code Playgroud)

然而,有一个相关的未解决的已知谷歌地图错误(问题5707:错误:圆圈在快速圆半径和中心更新上填充闪烁)导致填充闪烁.

更新:

问题5707已于2016年10月24日解决