谷歌地图支持片段不能更新多边形可靠

时间:2013-10-28 13:50:29

标签: android google-maps

我有一个SupportMapFragment,其中包含一堆叠加层(PolygonsPolylinesMarkers

我想做什么

Polygons类代表用户可交互区域,因此我想在点击它们时突出显示它们(更改填充颜色)。因为只有一个Polygon shell显示为已选中,所以进一步选择的Polygon shell将获得默认颜色。

这就是我的工作:

  private synchronized void selectPolygon(Polygon polygon) {
    if (polygon != null && selectedPolygon != polygon) {
       selectedPolygon.setFillColor(COLOR_DEFAULT);
    }
    if (polygon != null)
       polygon.setFillColor(COLOR_SELECTED);
    selectedPolygon = polygon;
    mapFragment.getView().invalidate(); // added this because I was hoping this does the trick
  }

实际发生的事情

更改或切换填充颜色可连续使用约2或3次。之后,多边形颜色不会改变。填充颜​​色本身设置正确,但地图不会更新。如果我放大我们的(似乎强制重绘或类似的东西),将显示正确的多边形颜色。

我想invalidate()我需要某种SupportMapFragment但我在文档中找不到类似的内容。任何想法,伙计们?

1 个答案:

答案 0 :(得分:1)

以一致性方式执行此操作的正确方法是使用颜色更改删除并重新添加地图上的多边形