如何隐藏/显示具有特定标题的折线(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];
}
}
}
}
但我希望有显示/隐藏它们的选项。
提前致谢。
答案 0 :(得分:0)
如果您要让用户将重叠添加回屏幕,则需要引用它并调用addOverlay
。他们只能做一个覆盖吗?只需添加一个名为removeableOverlay
的实例变量,然后当用户点按该按钮时,您就不需要搜索所有叠加层了,只需要那个
[mapView removeOverlay:removeableOverlay];
或
[mapView addOverlay:removeableOverlay];
根据是否存在。您可以使用布尔值或按钮的状态跟踪它,或者在mapView.overlays
中搜索它(您只需要检查相等而不是类和标题)。如果它在那里你可以删除它,如果没有你可以添加它。