【发布时间】:2013-12-02 19:21:56
【问题描述】:
我试图在我的 MapView 上显示多个多边形,其中一些重叠并具有不同的颜色。当我添加它们时,一切看起来都很好,但是当我缩小时,许多(不是全部)多边形停止被填充。来回缩放和滚动有时会再次填充其中一些,但这似乎是随机行为。
添加多边形的代码:
clearAreas();
for (Area area: areas) {
for (List<LatLng> subArea: area.getSubAreas()) {
mAreaPolygons.add(getMap().addPolygon(
new PolygonOptions()
.strokeWidth(2.0f)
.zIndex(++zIndex)
.strokeColor(area.getColor())
.fillColor(area.getTransparentColor())
.addAll(subArea)));
}
}
我了解(根据文档)如果未正确指定多边形的几何形状,则不会填充多边形。我尝试以顺时针和逆时针的顺序添加点,它没有任何区别。
谁能解释这种行为?
更新:如果附加了调试器,一切正常!多边形全部填充并在缩小时保持填充。一旦我分离调试器,多边形就会再次开始失去填充。这是怎么回事?
更新 #2:问题出现在我的 Galaxy S3 上。令人惊讶的是,它可以在较慢、较旧的设备上运行!由于附加调试器会使应用程序变得很慢,也许这里有某种连接?
非常感谢, 马可
【问题讨论】:
-
我在圆形填充中看到了同样的情况。附加调试器是什么意思? logcat 以外的调试器?
-
没关系,例如,您的意思是 Eclipse 调试器。我可以确认。在该调试模式下运行时,应用程序非常慢,但我所有的圆圈填充都完美绘制,并且在缩放/平移时永远不会消失。发生了什么事?
-
您解决了这个问题吗?我现在正在处理它。
标签: android google-maps polygon