【发布时间】:2013-03-20 14:50:52
【问题描述】:
Google 最近在 V2 中引入了圆形作为地图对象,并且可以轻松绘制: https://developers.google.com/maps/documentation/android/shapes#circles
有谁知道如何使它可点击,以便我可以打开信息窗口等...?
非常感谢您的帮助。
【问题讨论】:
标签: android google-maps google-maps-android-api-2
Google 最近在 V2 中引入了圆形作为地图对象,并且可以轻松绘制: https://developers.google.com/maps/documentation/android/shapes#circles
有谁知道如何使它可点击,以便我可以打开信息窗口等...?
非常感谢您的帮助。
【问题讨论】:
标签: android google-maps google-maps-android-api-2
自 2016 年 6 月起,Google 引入了 CircleOptions 的可点击属性。
您也可以使用 Circle.setClickable(boolean) 方法并监听 OnCircleClickListener 事件。
【讨论】:
更新:
您可能应该使用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的算法在网上不难找到。
【讨论】:
这很简单 - mMap.setOnCircleClickListener(this);
【讨论】: