【发布时间】:2013-11-13 13:46:48
【问题描述】:
我正在构建一个 iPhone 应用程序。有一个始终显示地图(MKMapView)的屏幕。但为了节省电量,我不希望用户位置一直更新,只能自动(每 15 分钟)和手动(onclick)更新。
但是,我还想在地图上显示此用户位置。
问题是,如果我为我的 MapView showsUserLocation,它会自动开始更新位置,因此会耗尽电池电量。
我尝试激活showsUserLocation 选项,保存MKUserLocation,然后停用showsUserLocation,然后手动添加保存的MKUserLocation 作为注释,但它实际上显示警告并重新激活showsUserLocation 选项!
所以我猜最后一种方法是手工:
我自己构建了一个蓝点注释,但它没有发光效果和精确圆圈。你知道怎么做吗?或者如果有其他方法,请分享。
谢谢!
【问题讨论】:
-
我认为如果您有一个在其他地方用于当前位置的脉动蓝点,但将其简化为每 15 分钟才准确一次,您会混淆用户。此外,如果您想降低电池使用量,您可以将位置管理器的
desiredAccuracy设置为仅在位置发生重大变化时向您发送通知。 -
@Craig 也许,我想这取决于应用程序?我可以每 5 分钟更新一次,事实是用
showsUserLocation到YES保存地图确实会耗尽电池电量。设置desiredAccuracy怎么能改变这个?要查看重大变化,是否必须打开 GPS,从而耗尽电池?谢谢 -
我不太确定 Apple 是如何实现它的,但他们确实表示要求降低精度确实可以节省电池寿命。也许他们会等着看手机是否会改变手机信号塔,然后打开 GPS 以获取实际位置。您可以在用户的位置上放置其他东西,但蓝色的脉冲球是 Apple 和大多数应用程序实时跟踪用户位置的意思。如果您将其用于过时的位置,您将改变脉冲的含义。
标签: ios iphone location mkmapview mapkit