1

我在我的项目中使用谷歌地图 API。我添加GMSCircle为叠加层。

我想删除所有添加的圈子。没有办法GMSCircle从“”中删除“” mapview

如何从中删除圈子mapview

4

1 回答 1

0

我所做的是创建一个私有属性来保存 GMSCircle 实例。

@property (nonatomic, strong) NSMutableArray *circlesOnMap;

懒加载。

- (NSMutableArray *)circlesOnMap {
    if (!_circlesOnMap) {
        _circlesOnMap = [NSMutableArray array];
        return _circlesOnMap;
    }
    return _circlesOnMap;
}

每当我将我的圈子添加到地图时,我也会将它添加到我的属性中

...
googleCircle.map = self.mapView;
[self.circlesOnMap addObject:googleCircle];
...

如果我需要删除地图上的任何圆圈,我会遍历我的属性

if (self.circlesOnMap.count > 0) {
    [self.circlesOnMap enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        GMSCircle *aCircle = (GMSCircle *)obj;
        aCircle.map = nil;
    }];
}

这将删除地图上的所有圆圈,您可以根据自己的需要对其进行修改。

于 2013-08-01T19:01:05.403 回答