的MKMapView iOS的自定义用户位置注释不显示/更新位置(MKMapView iOS cus

2019-10-18 01:24发布

嗨,我使用替代蓝色GPS定位点的自定义注解。 我把它添加到地图中,像这样的viewForAnnotation。 OurLocAnnotation类符合MKAnnotation委托。

    //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按照此链接: 上一页计算器问题 ,并开始更新位置是从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];

Answer 1:

没错所有上面的代码工作! 终于得到了它的工作。 因此,对于步骤定制用户禄也更新您的运动是以上。



文章来源: MKMapView iOS custom user location Annotation not showing/updating position