用户位置蓝色大理石滴

时间:2010-01-12 08:44:47

标签: iphone objective-c annotations mapkit

有谁知道触发蓝色大理石动画的原因。我知道当位置更新时会发生这种情况,但是如何使用该属性中的任何内容触发该事件。我有一个应用程序,我想在地图出现时显示用户的位置,但随后在地图消失时清除所有注释的地图(包括用户位置)。这很好用。问题在于,当我在删除用户位置后尝试返回地图时,蓝色大理石不会重新弹回。有人知道如何重新设置此动画吗?

提前感谢。

1 个答案:

答案 0 :(得分:2)

如果您将MKMapView设置为通过将其属性showsUserLocation设置为YES来显示用户的位置,则地图将自动显示用户的位置,除非他/她的坐标位于地图之外。您可以通过检查userLocationVisible属性来检查这一点。

现在,如果您删除用户的位置(作为注释的属性userLocation),即使您将showsUserLocation设置为yes,地图也无法显示用户的位置。 只需使用CoreLocation框架进行更新即可再次恢复用户位置,它将再次自动显示在地图上。

编辑:要触发动画,请更新用户的位置,再次设置要显示的区域(可能是中心和/或跨度已更改),然后调用

[map setRegion:newRegion animated:YES];

如果该区域没有改变,只需重复使用它。