1

如何隐藏/显示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];
        }
     }
  }
}

但我希望可以选择显示/隐藏它们。

提前致谢。

4

1 回答 1

0

如果您要让用户将叠加层重新添加到屏幕上,您需要对其进行引用并调用addOverlay. 这只是他们可以做到这一点的一个叠加层吗?只需添加一个名为的实例变量removeableOverlay,然后当该人点击按钮时,您无需搜索所有叠加层,您可以只找到那个

[mapView removeOverlay:removeableOverlay];

或者

[mapView addOverlay:removeableOverlay];

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

于 2013-01-31T20:37:12.520 回答