飞行模式下的MapKit

时间:2018-08-28 18:10:21

标签: ios swift mapkit mapkitannotation

我所在区域的地图上有30 MKPinAnnotations。我还拥有相对于这30个位置中的每一个都包含30个位置的一系列数组。我想要的体验是能够敲击这些引脚中的一个,而其他30个相对引脚围绕它出现。当我使用完全的Internet连接进行所有操作时,结果就是:

enter image description here

我正在使用Realm在后端缓存所有内容,所以我知道我有可用的数据。点击蓝色图钉会弹出一个标注视图,使我可以“签到”该位置,该位置应召唤其他30个相对位置。这是让我不知所措的代码:

if let annotations = currentRestaurantAnnotations {
    mapView.removeAnnotations(annotations)
}
currentRestaurantAnnotations = nil
currentRestaurants = nil
var restaurantPins = [RestaurantAnnotation]()
for restaurant in restaurants.filter({ $0.venueID == currentFocusVenue?.id }) {
    let pin = RestaurantAnnotation(coordinate: CLLocationCoordinate2D(latitude: restaurant.latitude, longitude: restaurant.longitude), title: restaurant.name)
    restaurantPins.append(pin)
}
currentRestaurantAnnotations = restaurantPins
mapView.showAnnotations(restaurantPins, animated: true)

再次,当我具有连接性时,对此进行调试,所有注释均使其到达最后一行。当我将设备置于飞行模式并点击蓝色图钉及其调用按钮时,该方法再次被触发,所有内容均按应有的方式在代码中运行,但是在showAnnotations()运行之后,地图视图显示为无注释。

对于上下文,如果我随后使设备退出飞行模式,则该应用程序通过触发来自这30个相对位置的云中的更新来执行应做的事情。再次触发显示注释的功能,由于我的设备处于飞行模式,注释全部显示。

Tl; dr:当我的设备处于飞行模式时,如何使注释显示在MapKit上?

0 个答案:

没有答案