在我的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中删除我的图钉和标注子视图?
答案 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)
}
}