在 MKMapView 中移动 MKCircle

发布于 2024-10-12 21:48:42 字数 237 浏览 1 评论 0原文

当我尝试在 MKMapView 中移动 MKCircle 时,收到此错误消息:-[MKCircle setCoordinate:] 无法识别的选择器 ..。但根据文档 MKCircle 符合 MKAnnotation 协议,因此它应该实现 setCooperative: 方法(此外 Xcode 为我提供自动建议,并且调试器不会显示任何警告)。

有谁知道问题出在哪里?

多谢。

when I try to move MKCircle in my MKMapView I get this error message: -[MKCircle setCoordinate:] unrecognized selector ... But according to the documentation MKCircle conforms to MKAnnotation protocol so it should have setCoordinate: method implemented (in addition Xcode offer me autosuggestion for it and debugger doesn't show any warnings).

Does anyone know where's the problem?

Thanks a lot.

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

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

发布评论

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

评论(1

青瓷清茶倾城歌 2024-10-19 21:48:42

尽管 MKCircle 确实符合 MKAnnotation,但 MKCircle 类(不幸的是)将坐标属性重写为只读:

圆形区域的中心点,
指定为纬度和经度。
(只读)

@property(非原子,只读)
CLLocationCooperative2D 坐标

最简单的解决方案是使用 removeOverlay: 删除旧的覆盖层,并添加一个具有新中心坐标和半径的新覆盖层。

Even though MKCircle does conform to MKAnnotation, the MKCircle class then (unfortunately) overrides the coordinate property as read-only:

The center point of the circular area,
specified as a latitude and longitude.
(read-only)

@property (nonatomic, readonly)
CLLocationCoordinate2D coordinate

The simplest solution is to remove the old overlay with removeOverlay: and add a new one with the new center coordinate and radius.

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