我在我的应用中绘制了多个多边形。我创建了一个触摸检测监听器(感谢matiash:Polygon Touch detection Google Map API V2) 但我怎么知道哪个多边形触及?在检测监听器中我使用polygon.getID()但我无法设置此ID值。它是随机的。如何设置ID。
多边形创建:
Polygon bol = myMap.addPolygon(new PolygonOptions()
.strokeColor(Color.argb(100,255,0,0))
.strokeWidth(3)
.geodesic(true)
.zIndex(1)
.clickable(true)
.addAll(koords)
);
和听众:
myMap.setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() {
@Override
public void onPolygonClick(Polygon polygon) {
// Handle click ...
}
});
答案 0 :(得分:1)
我找到了存储多边形ID的方法。我无法修改多边形的ID,但可以设置多边形的zIndex的浮点值。
我使用zIndex的整数部分作为多边形的显示顺序,使用zIndex的小数部分作为我的ID值。
例如:4.12322 4是显示顺序,12322是我的ID。
答案 1 :(得分:-1)
最简单的解决方案是构建扩展CustomPolygon
的自己的Polygon
类,并添加可分配的唯一标识符。然后使用此类而不是Android的Polygon