2013-08-01 114 views
1

我在我的項目中使用Google地圖API。我添加了GMSCircle作爲覆蓋。Google地圖GMSCircle

我想要刪除所有添加的圓。沒有方法可以從「mapview」中刪除「GMSCircle」。

如何從mapview中刪除圈子?

回答

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; 
    }]; 
} 

這將刪除地圖上的所有圈子,您可以根據自己的想法對其進行修改。