2

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

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

非常感谢您的帮助。

4

3 回答 3

7

自 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

于 2016-06-27T20:05:48.950 回答
5

更新:

您可能应该使用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 的算法在网上不难找到。

于 2013-03-20T18:02:43.747 回答
2

这非常简单 - mMap.setOnCircleClickListener(this);

于 2017-07-04T06:15:01.970 回答