如何为 MKOverlay 区域显示标注?

发布于 2024-10-15 19:36:26 字数 104 浏览 1 评论 0原文

我使用了手势识别器和给定覆盖层的boundingRect来确定用户何时点击它。不过,我现在希望在用户点击的覆盖区域上显示标注,就像注释的方式一样。我必须将覆盖层创建为注释才能实现此目的吗?谢谢。

I have used a gesture recognizer and the boundingRect for a given overlay to determine when a user taps on it. However I would now like to make a callout appear over the overlay region that the user taps, just like how it is done for annotations. Must I create the overlays as annotations in order to accomplish this? Thanks.

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

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

发布评论

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

评论(1

我不在是我 2024-10-22 19:36:26

如果您愿意,叠加层也是注释对象。

来自位置感知编程指南 :

MKOverlay协议符合MKAnnotation协议。因此,所有覆盖对象也是注释对象,并且可以在代码中视为其中之一或两者。如果您选择将覆盖对象视为两者,则您负责在两个位置管理该对象。如果您想同时显示覆盖视图和注释视图,则必须在应用程序委托中同时实现 mapView:viewForOverlay: 和 mapView:viewForAnnotation: 方法。这还意味着您必须在地图的叠加层和注释数组中添加和删除对象。

Overlays are also annotation objects if you wish.

From the Location Awareness Programming Guide:

The MKOverlay protocol conforms to the MKAnnotation protocol. As a result, all overlay objects are also annotation objects and can be treated as one or both in your code. If you opt to treat an overlay object as both, you are responsible for managing that object in two places. If you want to display both an overlay view and annotation view for it, you must implement both the mapView:viewForOverlay: and mapView:viewForAnnotation: methods in your application delegate. It also means that you must add and remove the object from both the overlays and annotations arrays of your map.

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