我正在构建一个应用程序(在Android和iOS上),希望设备的当前位置使用ionic framework(cordova,ionic,angular)。为此,我一直在尝试使用Cordova's Geolocation Plugin。在我的研究中,我发现cordova家伙已经弃用了原生地理定位实施,因为浏览器的地理定位效率更高HERE。 我希望这就是我构建应用程序时config.xml文件不包含
的原因<feature name="Geolocation">
<param name="android-package" value="org.apache.cordova.geolocation.GeoBroker" />
</feature>
但是在我的应用程序上实现插件时,插件似乎在我的GPS打开时得到的位置很好但是它无法获得我的GPS关闭的位置。这对我来说完全违反直觉。我在这里错过了什么?当他们说他们弃用了android geoloction插件时,我明白了吗? 我想知道地理定位插件请求设备位置时到底发生了什么。
提前致谢。
答案 0 :(得分:2)
听起来地理定位只有 与GPS一起发生,而不是WiFi或蜂窝三角测量。
该插件的enableHighAccuracy
为option。
有一个Android错误:
GPS芯片直接连接到卫星。蜂窝三角测量利用手机的信号。例如,它用于某些紧急服务中,通过三角测量您的手机与塔的距离来定位您。这是一篇关于GPS和细胞三角测量之间比较的有趣Reddit文章。 Wifi还可以提高定位的准确性:有关Google如何做到这一点,请参阅two discussions。
如果你这样做,有两个该死的,如果你没有问题该死的话:
enableHighAccuracy
未设置为true,则模拟器不会返回任何内容;如果您打开GPS,无关紧要。enableHighAccuracy
设置为true,但这意味着您必须保持GPS开启。