[iOS] [背景]更新地图别针|画线

时间:2013-05-04 09:24:48

标签: ios objective-c map annotations line

Hy:)

我正在尝试在后台更新设备(iPhone)的位置,它可以与模拟器http://grab.by/meLq一起使用(注释仅在背景中添加)。

但是当我使用我的iPhone进行测试时,它不起作用,我在最后一个位置(在后台之前)和变为活动状态之间的位置之间有一条线。

编码怎么样?

我在应用程序处于后台时进行了一个列表测试,当应用程序再次变为活动状态时,我加载了记录的位置列表。 (使用模拟器)

    - (void)handleAddLocations {
        NSLog(@"%s | %@", __PRETTY_FUNCTION__, self.locationBackgroundList);

        if ([self.locationBackgroundList count] > 0) {
            for (CLLocation *backgroundLocation in self.locationBackgroundList) {

                if (YES){
                    LocAnnotation* annotation = [[LocAnnotation alloc] initWithCoordinate:backgroundLocation.coordinate];
                    NSLog(@"%s %@", __PRETTY_FUNCTION__, [annotation description]);
                    [self.mapView addAnnotation:annotation];
            }

        MKUserLocation *userLocation = [[MKUserLocation alloc] init];
        [userLocation setCoordinate:backgroundLocation.coordinate];

        [self mapView:self.mapView didUpdateUserLocation:userLocation];

         }
        [self.mapView updateConstraints];

        [self.locationBackgroundList removeAllObjects];
        self.locationBackgroundList = [[NSMutableArray alloc] init];
      }
  }

感谢您的帮助;)

1 个答案:

答案 0 :(得分:1)

通过在后台创建一个位置列表来添加注释是一个更好的选择。当应用程序处于后台时,这是不可能管理uielements的。为此,你应该在应用程序进入时添加数组中的所有位置背景