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

问题描述 投票:2回答:3

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

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

非常感谢您的帮助。

android google-maps google-maps-android-api-2
3个回答
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算法不难在网上找到。


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


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.