2014-03-26 23 views
0

拖動註記視圖後,我的地圖存在問題: 當我更改地圖平移地圖時,拖動的註記在屏幕上保持固定(其他註釋尚未拖動都會正確顯示,問題出在拖動的每個註解視圖上;注意註釋視圖繼續可選擇用於標註和拖動,唯一的問題是我可以看到它在我平移Map時不會移動)拖動的註記視圖不隨地圖移動

我有什麼解決方案嗎?這是一個與ios 7.1的已知錯誤?或者我錯過了我的代碼中的東西?

+0

您可以發佈如何添加註釋的代碼? –

+0

一個視頻解釋:http://youtu.be/B49NanaTXL0 – atrebbi

+0

註釋只是添加到與addAnnotation地圖:MyMapAnnotation * imagePM =(MyMapAnnotation *)註釋; MyMapAnnotation * pin =(MyMapAnnotation *)[_ delegate getAnnotation:self]; pin = [pin init]; pin.image = imagePM.image; [pin setCoordinate:imagePM.coordinate]; [pin setTitle:imagePM.title]; [pin setSubtitle:imagePM.subtitle]; pin.identifier = imagePM.identifier; [_mapView addAnnotation:pin]; – atrebbi

回答

2

似乎代碼應該關心做最後過渡到重置註解看來,這解決了這個問題:

-(void)setDragState:(MKAnnotationViewDragState)dragState animated:(BOOL)animated { 
    [super setDragState:dragState animated:animated]; 
    if (dragState==MKAnnotationViewDragStateStarting) { 
     [... 
    } else if (dragState==MKAnnotationViewDragStateEnding || dragState==MKAnnotationViewDragStateCanceling) { 
     ... 
     self.dragState = MKAnnotationViewDragStateNone; 
    } 
} 
0

如果註釋拖動,那麼你必須拖動它的狀態設置爲none在其委託的方法。此代碼解決了我的問題

- (void)mapView:(MKMapView *)mapView 
    annotationView:(MKAnnotationView *)annotationView 
    didChangeDragState:(MKAnnotationViewDragState)newState 
     fromOldState:(MKAnnotationViewDragState)oldState 
{ 
if (newState == MKAnnotationViewDragStateEnding) 
    { 
    ..... your code..... 
    annotationView.dragState=MKAnnotationViewDragStateNone; 
    } 

}