如何检测地图注释 Pin 上的点击?

发布于 2024-11-01 04:23:12 字数 108 浏览 3 评论 0原文

我想检测对注释引脚(mapkit)的点击,以便我可以对该事件执行操作。

现在,如果我触摸注释引脚,则会弹出默认注释标志。我想自定义它以在触摸引脚时调用我的方法。

I want to detect tap on annotation pin(of mapkit) so that I can perform action on that event.

Now the default annotation flag pops up in case I touch the annotation pin. I want to customise that to call my method when pin is touched.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牛↙奶布丁 2024-11-08 04:23:12

您需要实现以下委托方法

 (MKAnnotationView) mapView viewForAnnotation:(id) annotation  

然后只需在此方法中声明以下内容

MKPinAnnotationView *view=[[MKPinAnnotationView alloc]initWithAnnotation:annotation  reuseIdentifier:@"abc"];
view.canShowCallout=YES;
view.calloutOffset=CGPointMake(-20,10); //As per your choice

然后您可以将 UI 添加到标注中,例如 UIButton 或 UIImage 作为
view.rightCalloutAccessoryView
View.leftCalloutAccessoryView

You need to implement the following delegate method

 (MKAnnotationView) mapView viewForAnnotation:(id) annotation  

Then just declare following in this method

MKPinAnnotationView *view=[[MKPinAnnotationView alloc]initWithAnnotation:annotation  reuseIdentifier:@"abc"];
view.canShowCallout=YES;
view.calloutOffset=CGPointMake(-20,10); //As per your choice

Then you can add UI to your callout eg UIButton or UIImage as
view.rightCalloutAccesoryView
View.leftCalloutAccesoryView

落日海湾 2024-11-08 04:23:12

由于地图上的图钉是MKAnnotationView,您可以在其上添加UITapGestureRecognizer(您的),但如果它已经有一些GestureRecognizer,那么您将需要首先将其删除。

谢谢

As pin on map is MKAnnotationView you can add UITapGestureRecognizer on it(of yours), but if it already has some GestureRecognizer than you will need to remove it first.

Thanks

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文