我在我的项目中使用Google地图API。我添加了GMSCircle
作为叠加层。
我想删除所有添加的圈子。没有方法可以从“GMSCircle
”中删除“mapview
”。
如何从mapview
删除圈子?
答案 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;
}];
}
这会删除地图上的所有圆圈,您可以根据自己的目标进行修改。