首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android谷歌地图平滑地改变圆圈半径

Android谷歌地图平滑地改变圆圈半径
EN

Stack Overflow用户
提问于 2016-07-19 08:23:32
回答 1查看 4.4K关注 0票数 1

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

在这里编辑我是如何在地图上添加圆圈的

代码语言:javascript
复制
@Override
    public void onMapClick(LatLng latLng) {
        mMap.addCircle(new CircleOptions()
                .center(latLng)
                .radius(100)
                .strokeWidth(0)
                .fillColor(0x66aaaFFF));
    }

如您所见,每次单击地图时,我都将半径设置为100。然而,半径应该改变,圆应该根据查找条的值平滑地绘制。

EN

回答 1

Stack Overflow用户

发布于 2016-07-19 09:27:00

您可以使用setRadius方法在OnSeekBarChangeListeneronProgressChanged上使用改变圆周半径的方法使其具有极小的大小。

代码语言:javascript
复制
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) {
    }
});

然而,还有一个相关的未解决的已知Google (第5707期:错误:快速圆半径上的圈填充闪烁和中心更新)会导致填充闪烁。

更新:

问题5707一直是2016年10月24日破案

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38453093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档