我开发使用用户位置的iOS应用程序。问题是
"我想知道目前的位置来自Wifi还是3g还是其他?我想知道提供商。"
这可能吗?我搜索了一下没有运气。
提前致谢。
答案 0 :(得分:1)
您无法知道 是如何获得它的,但您可以知道您收到的位置的准确性。每个CLLocation
对象都有一个horizontalAccuracy
属性,您可以检查。它将以米为单位指示误差范围。此外,它还具有3D位置的verticalAccuracy
属性。
答案 1 :(得分:1)
首先,如果设备具有GPS并且您选择CLLLocationAcuracyBest或BestForNavigation,则GPS始终用作位置提供者。
如果您不想使用这些模式,您可以通过以下方式区分提供者位置:
只有GPS提供属性" course / heading"和"速度"。 没有其他(WLAN,GSM-cell)可以提供过程和速度。
高度理论上可以由GSM-Cell(或Wlan)提供,因此将海拔高度用作GPS识别提示可能是不安全的。我不建议使用海拔高度。
即使使用GPS,静止不动也会无效,而速度将是有效的0.
另一个非常好的工作解决方案是使用水平精度< 40条件。
GSM手机将拥有hor。精度远高于40米,例如。千米。在所有其他情况下,它的位置不好,而且通常不会因为GPS或良好的Wlan / GSM进一步查找而感到尴尬
答案 2 :(得分:0)
您的设备会自动将更新的位置信息发送到您的应用,无论是GPS,wifi,EDGE还是3G ......
初始CLLocationManager
时,取决于您的代码