如何在android google maps v2中点击地图对象(例如:circle)?

时间:2013-03-20 14:50:52

标签: android google-maps google-maps-android-api-2

谷歌最近在V2中将圈子作为地图对象引入,可以轻松绘制: https://developers.google.com/maps/documentation/android/shapes#circles

有谁知道如何使这个可点击,以便我可以打开一个信息窗口等...?

非常感谢你的帮助。

3 个答案:

答案 0 :(得分:6)

截至2016年6月,Google推出了CircleOptions的可点击属性。

https://developers.google.com/android/reference/com/google/android/gms/maps/model/CircleOptions#public-constructor-summary

您也可以使用Circle.setClickable(boolean)方法并侦听OnCircleClickListener事件。

https://developers.google.com/android/reference/com/google/android/gms/maps/model/Circle.html#public-methods

答案 1 :(得分:4)

<强>更新

您应该使用GoogleMap::setOnCircleClickListener

旧回答:

对于Circles来说应该很简单:使用OnMapClickListener和这段代码:

void onMapClick(LatLng position) {

    LatLng center = circle.getCenter();
    double radius = circle.getRadius();
    float[] distance = new float[1];
    Location.distanceBetween(position.latitude, position.longitude, center.latitude, center.longitude, distance);
    boolean clicked = distance[0] < radius;

}

如果你有更多的圈子,你当然可以迭代圈子。

对于其他人,您必须自己进行代码检查。 Polygon算法不难在网上找到。

答案 2 :(得分:2)

非常直接 - mMap.setOnCircleClickListener(this);