当zoomlevel发生变化时,我需要更改centerOffset
的{{1}}属性。我不想再删除并添加AnnotationView
。
那么如何在缩放后访问和更新Annotations
?
有关于此的任何想法吗?
最诚挚的问候, 基督教
答案 0 :(得分:4)
一种解决方案是使用这些MKMapView
方法:
- (NSSet *)annotationsInMapRect:(MKMapRect)mapRect // iOS4.2+ only!
检索可见的注释,然后使用:
- (MKAnnotationView *)viewForAnnotation:(id<MKAnnotation>)annotation;
获取相应的视图(如果第一个函数正确工作,则永远不应返回nil)
然后我想改变centerOffset
应该做的工作,(加上可能有些-[UIView setNeedsDisplay/Layout]
来强制重绘)
根据zoomLevel改变centerOffset听起来很奇怪,但我想你有理由:)