2013-11-02 86 views
1

我正在构建一个iPhone应用程序。有一个总是显示地图(MKMapView)的屏幕。但为了保存电池,我不希望用户位置随时更新,只能自动(每15分钟一次)和手动(onclick)。手动显示当前位置蓝点MKMapView ios

但是,我也想在地图上显示这个用户位置。 问题是,如果我showsUserLocation为我的MapView,它会自动开始更新位置,因此消耗电池。

我试图激活showsUserLocation选项,保存MKUserLocation,然后停用showsUserLocation然后用手将保存MKUserLocation作为注释,但它实际上显示一个警告,并重新激活showsUserLocation选择!

所以我想用最后一种方法是用手工:

我建了一个蓝色圆点标注自己,但它不具有发光效果和精度一圈。你有什么想法如何做到这一点?或者如果有其他方式,请分享。

谢谢!

+0

我想你会迷惑用户,如果您有使用其他任何地方对当前位置的脉冲蓝点,但简单化下来到每15分钟只准确一次。 此外,如果您想降低电池使用量,您可以设置位置管理器的'desiredAccuracy',只在位置发生显着变化时才向您发送通知。 – Craig

+0

@Craig也许,我想这取决于应用程序?我可以每5分钟更新一次,事实上,将'showsUserLocation'保存为'YES'的地图确实会耗尽电量。 如何设置'desiredAccuracy'改变这个?要查看重大变化,GPS是否必须打开,从而消耗电池? 谢谢 –

+0

我不太确定苹果如何实现它,但他们表示,要求更低的精度会节省电池寿命。也许他们会等待,看看手机是否改变了手机信号塔,然后启动GPS以获取实际位置。你可以在用户的​​位置放置其他东西,但蓝色脉冲球是Apple和大多数应用程序对用户位置实时跟踪的意思。如果您将它用于过时的位置,您将会改变脉冲的含义。 – Craig

回答

2

只要使用本地标志启用此像这样:

[mapView setShowsUserLocation:YES] 
相关问题