pas*_*sql 0 iphone gps location power-management mkmapview
如何在不运行GPS更新位置的情况下在mapView中显示用户位置(根本)?将
mapView.userTrackingMode = kCLLocationAccuracyNearestTenMeters;
Run Code Online (Sandbox Code Playgroud)
做这个工作还是GPS还会在后台烧电池?
谢谢 :)
我将尽力回答你的问题,因为我可以提供有限的信息.
GPS有3种主要模式,从低功率到高功率,低精度到高精度.
一个MKMapView将显示用户位置的蓝色圆点,如果你设置showsUserLocation到YES.在MKMapView将使用所有可用的定位方法,以尽可能准确地找到用户的位置,并不断更新它,而它被设置为YES.
跟踪MKMapView,一种将用户位置保持在屏幕中心的模式,在用户移动时移动可见地图区域,并在iOS5中可用.你有三个MKUserTrackingMode可供选择.来自文档:
MKUserTrackingModeNone:地图不遵循用户位置.
MKUserTrackingModeFollow:地图跟随用户位置.
MKUserTrackingModeFollowWithHeading:地图跟随用户位置,并在标题更改时旋转.
因此设置它kCLLocationAccuracyNearestTenMeters不会起作用,因为它不是此上下文中的可用选项.
显示位置会在后台刻录电池吗?这取决于你的背景意味着什么.当用户轻敲主页按钮时,MKMapView系统强制停止使用GPS.当应用程序运行且MKMapView处于活动状态并且showsUserLocation设置为属性时YES,它将继续使用任何可用的方法(包括GPS)来更新位置.你有几个减少这个的策略.
1)假设用户需要在地图在屏幕上时看到他们的位置更新.在这种情况下,保持showsUserLocation设置为YES直到地图移出屏幕,或者设备被锁定,然后将其设置为NO
2)假定用户只需要从特定时间点看到其位置的静态标记,例如打开应用程序时.在这种情况下,您需要创建一个CLLocationManager对象,请求它startUpdatingLocation,过滤委托消息以获得所需的准确性,然后关闭位置更新(stopUpdatingLocation).然后,您可以添加一个MKAnnotation以MKMapView向用户显示其位置.
正如您所看到的那样,2号工作更多,但非常节能.数字1很简单,但在地图可见时会使用更多电池.由您决定用户期望的行为并相应地实施您的应用程序.
| 归档时间: |
|
| 查看次数: |
2162 次 |
| 最近记录: |