隐藏/显示具有特定标题的MKPolyline?

时间:2013-01-31 05:18:46

标签: ios mkmapview mapkit mkoverlay google-polyline

如何隐藏/显示具有特定标题的折线(MKPolyline)?

我可以使用以下代码删除它们:

-(IBAction)hideOverlay:(id)sender
{
for (id<MKOverlay> overlayToRemove in self.mapView.overlays)
 {
    if ([overlayToRemove isKindOfClass:[MKPolyline class]])
    {
        if ([polyline.title isEqualToString:@"Steve"]) {
            [mapView removeOverlay:overlayToRemove];
        }
     }
  }
}

但我希望有显示/隐藏它们的选项。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您要让用户将重叠添加回屏幕,则需要引用它并调用addOverlay。他们只能做一个覆盖吗?只需添加一个名为removeableOverlay的实例变量,然后当用户点按该按钮时,您就不需要搜索所有叠加层了,只需要那个

[mapView removeOverlay:removeableOverlay];

[mapView addOverlay:removeableOverlay];

根据是否存在。您可以使用布尔值或按钮的状态跟踪它,或者在mapView.overlays中搜索它(您只需要检查相等而不是类和标题)。如果它在那里你可以删除它,如果没有你可以添加它。