android谷歌地图哪个多边形触及

时间:2016-01-08 10:06:52

标签: android google-maps

我在我的应用中绘制了多个多边形。我创建了一个触摸检测监听器(感谢matiashPolygon 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 ...
        }
    });

2 个答案:

答案 0 :(得分:1)

我找到了存储多边形ID的方法。我无法修改多边形的ID,但可以设置多边形的zIndex的浮点值。

我使用zIndex的整数部分作为多边形的显示顺序,使用zIndex的小数部分作为我的ID值。

例如:4.12322 4是显示顺序,12322是我的ID。

答案 1 :(得分:-1)

最简单的解决方案是构建扩展CustomPolygon的自己的Polygon类,并添加可分配的唯一标识符。然后使用此类而不是Android的Polygon