4
A
回答
3
您可以通過的MKMapView的
[map region];
屬性獲取地圖的縮放級別。你也通過實現MKMapViewDelegate方法和設置委託
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
在這裏你可以查看你當前的縮放級別是什麼得到區域變化的事件 通知。我不建議在縮放/平移時刪除或添加所有註釋,因爲這可能會影響應用的性能。我沒有真正嘗試設置爲0.0或MKAnnotationView上的隱藏屬性,但這可能是你最好的選擇。
4
使用Marko的答案我來到這個解決方案。
每次區域更改,我更改ViewController's
屬性isAtBigZoom
。
func mapView(mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
isAtBigZoom = mapView.region.span.latitudeDelta < 0.01
}
然後在didSet
的屬性,我執行此代碼。
var isAtBigZoom = false {
didSet {
// this guard ensures, that the showing and hiding happens only once
guard oldValue != isAtBigZoom else {
return
}
// in my case I wanted to show/hide only a certain type of annotations
for case let annot as MapTextAnnotation in mapView.annotations {
mapView.viewForAnnotation(annot)?.alpha = isAtBigZoom ? 1 : 0
}
}
}
如果你也想開始隱藏註釋,只是增加阿爾法改變代碼viewForAnnotation
方法。
工程很好,我沒有注意到與性能有關的大問題。雖然這可能會隨着註釋數量的增加而改變...
+0
由於視圖會在您有很多註釋時重複使用,因此for循環中的每個註釋都不會保證有視圖。所以如果你在縮放變化之後平移,你應該小心地使用正確的alpha屬性創建視圖 – Pieter 2016-08-26 11:25:13
相關問題
- 1. MkMapView縮放級別
- 2. MKMapView的縮放級別
- 3. 某些縮放級別後的自動註釋標註
- 4. 如何使用註解縮小MKMapview的縮放級別?
- 5. 實現MKMapView的縮放級別
- 6. MKMapView的縮放級別有上限嗎?
- 7. 縮放MKMapView以適應註釋引腳?
- 8. iOS - MKMapView - Buggy註釋
- 9. IOS6 MKMapView最大縮放級別
- 10. 當縮放時顯示iPhone地圖應用程序的註釋MKMapview
- 11. MKMapView僅在n次迭代後顯示單個註釋
- 12. 在某些縮放級別
- 13. 使用MKPolyLine在MKMapView上縮放級別和註解
- 14. 如何在iOS上獲得最大縮放級別MKMapView
- 15. 直到某個縮放級別顯示點,然後顯示熱圖
- 16. 的MKMapView沒有顯示註釋的點
- 17. iOS Webview縮放級別
- 18. Highcharts在某些縮放級別不顯示數據
- 19. Highstock圖在某些縮放級別顯示點而不是線
- 20. Fusion Tables:多邊形在某些縮放級別不顯示
- 21. 更改顯示縮放級別
- 22. MKMapView縮放到註解 - annotationVisibleRect
- 23. 縮略圖圖像不顯示在MKMapView註釋視圖
- 24. 標題未在MKMapView中顯示註釋
- 25. 顯示spiderfy傳單註釋MKMapView
- 26. 谷歌地圖api v3顯示某個級別的縮放標記
- 27. 有沒有辦法讓mkmapview放大顯示所有註釋?
- 28. 將MKMapView縮放級別設置爲一個地方
- 29. 放大,縮小mkmapview顯示隱藏mkannotations
- 30. 在MKMapView中顯示多個註釋標註
請參閱我的anser下http://stackoverflow.com/questions/14707080/after-json-parsing-viewforannotation-shows-only-one-single-annotation- on-mkmapv/32965056#32965056希望可以幫助別人。 – blackjacx 2015-10-06 08:25:30