2016-03-01 107 views

回答

4

要使註釋可拖動,請將註釋視圖的可拖動屬性設置爲YES。

這通常在viewForAnnotation委託方法中完成。

例如:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation 
{ 
    if ([annotation isKindOfClass:[MKUserLocation class]]) 
     return nil; 

    static NSString *reuseId = @"pin"; 
    MKPinAnnotationView *pav = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:reuseId]; 
    if (pav == nil) 
    { 
     pav = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:reuseId]; 
     pav.draggable = YES; 
     pav.canShowCallout = YES; 
    } 
    else 
    { 
     pav.annotation = annotation; 
    } 

    return pav; 
} 

如果您需要在用戶停止拖動和下降的註釋, 見來處理:how to manage drag and drop for MKAnnotationView on IOS?

如何管理拖放進行MKAnnotationView的IOS?

另外,你的註解對象(實現MKAnnotation的那個)應該有一個可設置的座標屬性。您正在使用實現setCoordinate的MKPointAnnotation類,以便該部分已經被處理。

+0

謝謝你,它對我來說工作正常。 – vijetha

+0

@vijetha Uplease upvote答案,如果它真的幫助你完全...謝謝 –