Пользовательское местоположение пользователя MKMapView iOS Аннотация не показывает/обновляет положение

Привет, я использую пользовательскую аннотацию вместо синей точки положения 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;
}

По этой ссылке для параметра «Показать местоположение пользователя» установлено значение «Нет»: вопрос и начало обновления местоположения вызывается из 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];

person Alex McPherson    schedule 24.04.2013    source источник
comment
Опубликованный код выглядит нормально, и установка для него значения newLocation.coordinate должна работать. Вы должны иметь возможность протестировать его в симуляторе, используя Debug\Location\FreewayDrive. NSLog координаты, которые вы получаете в didUpdateToLocation.   -  person    schedule 26.04.2013
comment
@AnnaKarenina большое спасибо за то, что нашли время, чтобы выглядеть так любезно. Я попробую метод симулятора или прогуляюсь, чтобы посмотреть, нормально ли она обновляет мою пользовательскую аннотацию местоположения пользователя.   -  person Alex McPherson    schedule 26.04.2013
comment
@AnnaKarenina Я могу подтвердить, что все работает, и благодаря вам вы дали ключ к тому, чтобы заставить это работать ....   -  person Alex McPherson    schedule 26.04.2013


Ответы (1)


Да, весь приведенный выше код работает! Наконец заработало. Итак, шаги для пользовательского местоположения пользователя, которое также обновляется с вашими движениями, приведены выше.

person Alex McPherson    schedule 26.04.2013