Circle on Google Maps for Android v2 is flickering when size changes by seekbar

筅森魡賤 提交于 2019-12-10 14:53:00

问题


I am implementing a way to show a search radius on a Google Map (v2) in Android per this method:

// 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);
        }
    }
}

The radius is determined with a SeekBar, like so (I removed some unrelated code):

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

When I slide the SeekBar, the radius of the circle changes as expected, but it is visibly flickering a lot. It looks and feels just very bad.

Did anyone experience this error and could tell me what I did wrong or what I could do better to limit or, in the best case, eliminate the circle flickering?

Thanks in advance

EDIT: Apparently it's a bug existing for over a year already, acknowledged by Google last month.

Since Google is not known for fixing errors like this quickly, I have very little hope for a fix.. So I guess my question is changing to this: Are there any workarounds for the meantime?


回答1:


This issue (5707) has been solved on October 24, 2016



来源:https://stackoverflow.com/questions/26509591/circle-on-google-maps-for-android-v2-is-flickering-when-size-changes-by-seekbar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!