我正在构建一个小型原型应用来测试位置服务。我的应用程序同时使用-startUpdatingLocation和-startMonitoringSignificantLocationChanges(用于后台处理)。
在这两种情况下,我都试图将json对象发送到具有我获得的位置数据的服务器,但是我希望能够发送某种标识符以便我可以确定哪个定位服务模式用于获取数据(GPS,wifi,塔或至少是通过上述两种服务之一。
我在AppDelegate中设置我的CLLocationManager,如果这有任何区别的话。
由于
答案 0 :(得分:1)
未提供CLLocationManager
使用的来源。但是,您可以通过设置desiredAccuracy
属性来确定是否允许关闭GPS。正如文档所述,1公里的准确度可能关闭GPS。
例如,将位置事件的所需精度设置为一公里,可使位置管理员灵活地关闭GPS硬件并仅依靠WiFi或手机无线电。关闭GPS硬件可以显着节省电力。
您无法完全控制GPS,因为其他应用可能会在后台请求更高的准确度。
您可以通过检查CLLocation
对象来粗略猜出用于确定您的位置的内容。每个CLLocation
对象都有一个名为horizontalAccuracy
的属性。该值以米为单位。如果它小于1公里,则GPS可能可能使用。