4
期間我需要更改AnnotationView
的centerOffset
屬性時的縮放級別改變。我不想刪除並再次添加Annotations
。更新AnnotationView後/變焦
所以,我怎麼能訪問和縮放後更新AnnotationViews
?
對此的任何想法?
最好的問候, 基督教
期間我需要更改AnnotationView
的centerOffset
屬性時的縮放級別改變。我不想刪除並再次添加Annotations
。更新AnnotationView後/變焦
所以,我怎麼能訪問和縮放後更新AnnotationViews
?
對此的任何想法?
最好的問候, 基督教
一個解決辦法是使用這些MKMapView
方法:
- (NSSet *)annotationsInMapRect:(MKMapRect)mapRect // iOS4.2+ only!
檢索可見的註釋,然後使用:
- (MKAnnotationView *)viewForAnnotation:(id<MKAnnotation>)annotation;
得到相應的視圖(如果第一個功能正常工作,應該永不返回nil)
那麼我想改變centerOffset
應該做的工作,(再加上也許有些-[UIView setNeedsDisplay/Layout]
強制重繪)
更改centerOffset取決於個zoomLevel聽起來很奇怪,但我猜你有你的理由:)
感謝這個。我已經使用mapView.annotations屬性來獲取註釋(<4.2 depl。target)。爲了更新註釋,我需要重新分配座標..'setNeedsDisplay'等不起作用:'CLLocationCoordinate2D foo = annotation.coordinate; [註解setCoordinate:FOO]' 理由進行更改縮放級別時偏移:我們有它的3D建築物的地圖疊加層,想顯示出對屋頂的視覺體驗的註解。客戶端可以在後端提供偏移量。由於放大/縮小後尺寸不同,需要重新計算偏移量。 – cweinberger 2011-04-22 18:42:27
啊我看到了,我知道這是有原因的,謝謝反饋:) – 2011-04-22 19:03:54