我正在根據用戶添加的註釋的位置創建一個路徑(MKPolyline)。我想讓用戶通過拖動管腳來改變路徑。我目前可以做到這一點,但MKPolyline不會更新,直到引腳被丟棄。在拖動時獲取MKAnnotation的座標
我實現- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState
爲MKAnnotationViewDragStateDragging
,但它只是警告我,用戶拖動了引腳,並沒有通知有關新位置。
如何獲得當前位置的註釋爲dragg,每次改變時?我希望得到有關位置的任何變化的通知,同時拖動可以更新MKPolyline以便在引腳移動時跟隨引腳,以更好地反映路徑如何變化。
任何想法?謝謝!
這個效果很好 - 謝謝:)我看到一個問題,但touchesMoved:withEvent:始終不會在第一次拖動時調用,偶爾也會在此之後調用。我看不出有什麼可能導致它。有什麼想法嗎? – StephenT
使用touchesMoved將在大多數情況下工作,但是我注意到,當我拖動自定義引腳(特別是頂部)的某些部分時,touchesMoved不會被調用。我通過覆蓋中心屬性來解決這個問題。在Swift中,這很簡單:'override var center:CGPoint {didSet {// here here}}' – JYeh