Ios 使GMSCircle响应tap?

Ios 使GMSCircle响应tap?,ios,delegates,touch,listener,google-maps-sdk-ios,Ios,Delegates,Touch,Listener,Google Maps Sdk Ios,我使用的是iOS版的谷歌地图API,我希望这样,当你点击一个GMSCircle时,它会弹出一个我在别处编写的小东西。我已将圆圈设置为“可敲击”,但我找不到需要设置或制作的内容来聆听敲击声。我用什么 CLLocationCoordinate2D circleCenter = CLLocationCoordinate2DMake(10,10); GMSCircle *circ = [GMSCircle circleWithPosition:circleCenter

我使用的是iOS版的谷歌地图API,我希望这样,当你点击一个GMSCircle时,它会弹出一个我在别处编写的小东西。我已将圆圈设置为“可敲击”,但我找不到需要设置或制作的内容来聆听敲击声。我用什么

    CLLocationCoordinate2D circleCenter = CLLocationCoordinate2DMake(10,10);
GMSCircle *circ = [GMSCircle circleWithPosition:circleCenter
                                         radius:10];
circ.tappable = true;
[circ setFillColor:[UIColor colorWithRed:1 green:0 blue:0 alpha:.5]];

circ.map = mapView_;

您需要使用委托方法:

此处参数overlay表示已点击的覆盖。所以你需要检查它是否等于circ

编辑:添加有关如何检查覆盖内圆的详细信息


GMSCircle
添加到地图时,也会创建相应的
GMSPolygon
。如果圆设置为可攻丝,则在攻丝时,传递给
didTapOverlay
方法的覆盖是此相关多边形,而不是圆。因此,无法直接比较叠加和圆。因此,正如Raspu所指出的,您可以使用
circ.title=
在title中设置一个值,然后在didTapOverlay中,您可以检查
overlay.title
是否与
circ.title
相同。这是因为圆的title属性位于相应的多边形内,因此将出现在overlay参数中。

谢谢!如何检查它是否等于circ?我试过if([overlay isEqual:circ])和if(overlay==circ),每一个都有同样的问题,谷歌地图似乎为圆渲染了一个多边形。我使用overlay.title来保存一个标识符。事实上,没有调用任何委托方法。我将mapview的委托设置为self,并在标题中设置委托。帮助?我已经更新了如何识别圆圈是否被点击的答案。感谢@Raspu指出这一点。redlago,对于没有被调用的委托方法,请检查这是否有帮助。@Redago您能告诉我们创建映射的代码吗。
- (void) mapView: (GMSMapView *) mapView  didTapOverlay: (GMSOverlay *) overlay