4

在我的地图视图中,我正在创建类似cafebarnight_club和的图钉restaurant。例如,我如何编码以仅删除特定点cafe。我已经使用下面的代码成功删除了所有注释。我不知道如何删除一个特定的(而不是全部)。

for (id<MKAnnotation> annotation in routeMapView.annotations) 
{
  if ([annotation isKindOfClass:[MapPoint class]]) 
  {
    [routeMapView removeAnnotation:index=annotation];
  }
}
4

2 回答 2

4

它可能对您有所帮助,请尝试使用这个。

for (id annotation in mapView.annotations)
{
    if ([[annotation title] isEqualToString:@"cafe"])
          [self.mapView removeAnnotation:annotation];
}
于 2013-04-30T13:41:15.830 回答
1

您可以将 NSPredicate 用于以下情况

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"pinName == %@",  @"Cafe"];
[myMapView removeAnnotations:[myMapView.annotations filteredArrayUsingPredicate:predicate]];

上面将删除所有名为 cafe 的注释。

有关更多信息,您可以查看此答案 Remove MKMapView Annotations with a certain pinColor?

于 2013-05-01T06:21:13.200 回答