Android 不总是在Google Maps v2上绘制圆形覆盖填充颜色

Android 不总是在Google Maps v2上绘制圆形覆盖填充颜色,android,google-maps,overlay,geometry,Android,Google Maps,Overlay,Geometry,我在android中使用Google Maps V2在地图片段中画了几个圆圈。V1的一切都很完美,但在切换之后,我的圆圈的填充颜色并不总是被绘制出来 例如,我打开地图,圆圈就在那里并被填充,但是如果我放大几倍,填充颜色就会消失。我缩小镜头,它仍然消失了(或者它可能重新出现)。我一直无法精确地指出是什么行为导致它消失,有时它甚至不在那里开始,缩放导致它出现 下面是我的一个圈子的一些代码: private void addAccuracyCircle() { accuracyCircle =

我在android中使用Google Maps V2在地图片段中画了几个圆圈。V1的一切都很完美,但在切换之后,我的圆圈的填充颜色并不总是被绘制出来

例如,我打开地图,圆圈就在那里并被填充,但是如果我放大几倍,填充颜色就会消失。我缩小镜头,它仍然消失了(或者它可能重新出现)。我一直无法精确地指出是什么行为导致它消失,有时它甚至不在那里开始,缩放导致它出现

下面是我的一个圈子的一些代码:

private void addAccuracyCircle() {
    accuracyCircle = map.addCircle(new CircleOptions()
            .center(LocationFinder.getActualPoint())
            .radius(LocationFinder.getActualLocation().getAccuracy())
            .fillColor(Color.argb(10, 0, 50, 240))
            .strokeColor(Color.argb(50, 0, 50, 240))
            .strokeWidth(2)
            .zIndex(1));
}

您应该尝试在地图视图上执行map.invalidate()操作-发生这种情况的原因可能是在放大\缩小地图并在地图中导航时,地图视图对象再次呈现自身,并且“未”绘制颜色填充,我遇到了一个类似的问题,为了解决这个问题,我编写了一个刷新方法,可以清除地图上的控件->无效->重新绘制地图上的控件->无效 可能有点乱,但对我有用

(差不多)-


我在另一部Jellybean手机上尝试了这个应用程序,但没有成功。我将进一步调查,看看我是否能找到原因。你能告诉我你是如何定义LocationFinder的吗???@Mitesh LocationFinder是一个巨大的类,它有一个位置侦听器,具有确定用户位置的逻辑。在这些调用中,它分别返回一个LatLng和一个准确性。我遇到了同样的问题。我注意到,如果我不清除地图(map.clear),因此我得到了两个圆,那么原始圆将失去填充。这过去工作得很好,我能想到的唯一变化就是更新ADT(我正在使用Eclipse)?我在4.3设备上遇到同样的问题。我不确定我是否理解。我什么时候才能宣布无效?在平移/缩放地图之后?这将是一个无效的很多。关键是地图视图不应“遗漏”绘制颜色填充。
protected void RefreshMap() {
  map.getOverlays().clear();
  map.invalidate();

  // Use a list of itemize overlay here and add all the objects
  //from that list upon refresh

  map.invalidate();
}