在MKMapView中移动MKCircle
问题描述:
当我尝试在MKMapView中移动MKCircle时出现此错误消息:-[MKCircle setCoordinate:] unrecognized selector ..
。但根据文档MKCircle符合MKAnnotation协议,所以它应该有setCoordinate:
方法实现(另外Xcode提供给我自动暗示它和调试器不显示任何警告)。在MKMapView中移动MKCircle
有谁知道问题在哪里?
非常感谢。
答
即使MKCircle确实符合MKAnnotation,所述MKCircle类然后(不幸)覆盖坐标属性为只读:
圆形区域的中心点, 指定为纬度和经度。 (只读)
@属性(非原子,只读) CLLocationCoordinate2D坐标
最简单的解决方案是用removeOverlay:
删除旧的叠加和添加与新的中心一个新的坐标和半径。
是的,即使在MKAnnotation协议中,该属性也是只读的,但也有绕过它的setter。我知道我可以删除它并在其他地方再次重新创建,但是我使用该圆圈来显示在地图上标记其他人的自定义注释的位置准确性,并且我想要将该圆圈与注释一起移动(当然也可以放大并缩小圈子)。但是应该使用叠加层来显示静态数据(根据文档强调地图上的道路等),因此删除/读取就足够了。 ; o)无论如何感谢您的回答。 – JakubM 2011-01-26 10:28:25