gpt4 book ai didi

ios - 让 GMSCircle 响应点击?

转载 作者:可可西里 更新时间:2023-11-01 06:23:24 27 4
gpt4 key购买 nike

我正在使用适用于 iOS 的 Google Maps 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_;

最佳答案

您需要使用委托(delegate)方法didTapOverlay :

- (void) mapView: (GMSMapView *) mapView  didTapOverlay: (GMSOverlay *) overlay 

这里参数overlay表示被点击的overlay。所以你需要检查它是否等于 circ。

编辑:添加有关如何在 didTapOverlay 中检查圈子的详细信息

GMSCircle 被添加到 map 时,相应的 GMSPolygon 也会被创建。如果圆被设置为可点击的,那么在点击它时,传递给 didTapOverlay 方法的叠加是这个相关的多边形而不是圆。因此,叠加层和圆圈之间的直接比较是不可能的。因此,正如 Raspu 指出的那样,您可以使用 circ.title = 在 title 中设置一个值,然后在 didTapOverlay 中,您可以检查 overlay.title 是否与 circ.title.这是有效的,因为圆的标题属性在相应的多边形内,因此将出现在叠加参数中。

关于ios - 让 GMSCircle 响应点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17975273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com