从MapPin中删除子视图

时间:2016-01-13 12:17:49

标签: ios swift mkmapview mkannotationview

在我的Swift应用程序中,我按照本教程向我的mapview添加自定义引脚和标注。我的代码几乎完全相同:https://github.com/wircho/CustomMapViewCallout

每隔几分钟,我会尝试通过清除当前注释和标注来刷新地图数据。

我的pin类是CustomPin,我的callout类是CustomCallout。

我试过了:

F art     : art/runtime/indirect_reference_table.cc:77] Check failed: table_mem_map_.get() != nullptr ashmem_create_region failed for 'indirect ref table': Too many open files

但这不是删除我的别针。如何从我的mapview中删除我的图钉和标注子视图?

1 个答案:

答案 0 :(得分:1)

你可以创建一个计时器并将其设置为5分钟,然后调用一个函数来移除你的引脚。

var timer = NSTimer()

viewDidLoad设置此行

// 300 is 5 minutes
timer = NSTimer.scheduledTimerWithTimeInterval(300, target: self, selector: Selector("removePins"), userInfo: nil, repeats: true)

迭代注释并删除它们

func removePins(){
    for annotation in mapView.annotations as [MKAnnotation] {
        mapView.removeAnnotation(annotation)
    }
}