在MKMapView上显示注释数组

时间:2016-08-11 12:38:33

标签: ios swift mkmapview

到处搜索,读取每个堆栈溢出,但仍然没有运气。我试图在MKMapView上显示一个注释数组。这是我的代码:

  // in viewDidLoad
  self.mapView.delegate = self
  var artworks = [MyMKAnnotation]()
for x in self.locations2 {
    let artwork = Artwork(title: "title1", coordinate: x)
    artworks.append(artwork)
}
dispatch_async(dispatch_get_main_queue()) { () -> Void in
    self.mapView.addAnnotations(artworks)
    self.mapView.showAnnotations(artworks, animated: true)
}

好的,问题是,使用上面的当前代码,注释显示,但地图视图是空白的。这是我所看到的图像:http://i.imgur.com/GTCvf7V.jpg 如果我拿走dispatch_async方法,我可以显示地图视图,但是我只看到这个:http://i.imgur.com/X8JLShV.jpg然后注释不存在。

我认为这不是我的viewForAnnotation方法的问题,而是一个线程问题。我试过在主线程,后台线程和它们的混合上,并在showAnnotations方法中将动画设置为false,但没有任何作用。我也尝试将其移动到viewDidAppear,viewDidLayoutSubviews,但是再一次没有任何效果。它始终是1)注释显示,但没有地图视图,或2)地图视图显示但没有注释

这似乎应该相当简单。任何人都知道我做错了什么?

另外:我有2台设备,iOS 8和iOS 9.2,我正在使用互联网访问的真实设备上进行测试,没有模拟器。

任何帮助将不胜感激,谢谢

0 个答案:

没有答案