谷歌地图GMSCircle

时间:2013-08-01 17:06:43

标签: iphone google-maps mapkit

我在我的项目中使用Google地图API。我添加了GMSCircle作为叠加层。

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

如何从mapview删除圈子?

1 个答案:

答案 0 :(得分: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;
    }];
}

这会删除地图上的所有圆圈,您可以根据自己的目标进行修改。