1

。我已經在viewForAnnotation中將它添加到了地圖中。 OurLocAnnotation類符合MKAnnotation委託。的MKMapView iOS的自定義用戶位置標註不顯示/嗨,我在更換了藍色的GPS定位點的使用自定義的註釋更新位置

//Custom location view 
if([annotation isKindOfClass:[OurLocAnnotation class]]) { 
    static NSString *identifier = @"currentLocation"; 
    SVPulsingAnnotationView *pulsingView = (SVPulsingAnnotationView *)[self.recycleMap dequeueReusableAnnotationViewWithIdentifier:identifier]; 

    if(pulsingView == nil) { 
     pulsingView = [[SVPulsingAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier]; 
     pulsingView.annotationColor = [UIColor colorWithRed:0.678431 green:0 blue:0 alpha:1]; 
     pulsingView.canShowCallout = YES; 
    } 

    return pulsingView; 
} 

顯示用戶位置設置爲NO按照此鏈接:Previous stackoverflow question並開始更新位置是從viewDidLoad中

我的註釋不顯示的問題叫我需要走動吧踢和更新我的位置我也可以設置其在加載即狀態顯示註釋,然後有它更新註釋,以我的位置?如果我給註釋硬編碼協調它顯示值,但我不想,我想它的基礎上我的位置?

- (void) locationManager:(CLLocationManager*) manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*)oldLocation 
{ 


if (ourLocAnn == nil) 
{ 
    self.ourLocAnn = [[OurLocAnnotation alloc] init]; 

    ourLocAnn.title = @"I am here"; 
    ourLocAnn.coordinate = newLocation.coordinate; 
    [recycleMap addAnnotation:ourLocAnn]; 
} 
else 
{ 
    ourLocAnn.coordinate = newLocation.coordinate; 
} 

更新:我笨,我可以通過詢問外景經理爲我的位置顯示我的位置,如下面。我剛剛得到了希望,當我將我的位置將會更新....

ourLocAnn = [[OurLocAnnotation alloc]init]; 
ourLocAnn.coordinate = clController.locMgr.location.coordinate; 
[recycleMap addAnnotation:ourLocAnn]; 
+0

張貼的代碼看起來很好,將其設置爲newLocation.coordinate應該工作。您應該可以使用Debug \ Location \ FreewayDrive在模擬器中對其進行測試。 NSLog記錄您在didUpdateToLocation中獲得的座標。 – Anna 2013-04-26 01:50:29

+0

@AnnaKarenina許多感謝您抽出時間來看看這就是善良。我會嘗試模擬器的方法,或者散步,看看她是否更新我的自定義用戶位置註釋。 – 2013-04-26 09:17:53

+0

@AnnaKarenina我可以證實它的所有作品,並感謝你,你提供的線索得到這個工作.... – 2013-04-26 14:59:39

回答

1

沒錯所有上面的代碼工作!最後讓它工作。因此,自定義用戶loc的步驟也隨着您的移動而更新。

相關問題