0

海:)

我正在尝试在后台更新设备(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];
      }
  }

感谢您的帮助;)

4

1 回答 1

1

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

于 2013-05-04T12:19:03.983 回答