有谁知道触发蓝色大理石动画的原因。我知道当位置更新时会发生这种情况,但是如何使用该属性中的任何内容触发该事件。我有一个应用程序,我想在地图出现时显示用户的位置,但随后在地图消失时清除所有注释的地图(包括用户位置)。这很好用。问题在于,当我在删除用户位置后尝试返回地图时,蓝色大理石不会重新弹回。有人知道如何重新设置此动画吗?
提前感谢。
答案 0 :(得分:2)
如果您将MKMapView
设置为通过将其属性showsUserLocation
设置为YES来显示用户的位置,则地图将自动显示用户的位置,除非他/她的坐标位于地图之外。您可以通过检查userLocationVisible
属性来检查这一点。
现在,如果您删除用户的位置(作为注释的属性userLocation
),即使您将showsUserLocation
设置为yes,地图也无法显示用户的位置。
只需使用CoreLocation
框架进行更新即可再次恢复用户位置,它将再次自动显示在地图上。
编辑:要触发动画,请更新用户的位置,再次设置要显示的区域(可能是中心和/或跨度已更改),然后调用
[map setRegion:newRegion animated:YES];
如果该区域没有改变,只需重复使用它。