我对 HTML5 地理定位有疑问。
我构建了一个应用程序并尝试获取用户的位置,我打开了 GPS,尝试将模式设置为仅限 GPS(因为下面的代码适用于高准确度模式(使用无线、移动网络、GPS))但是没有运气。
这是我的代码:
如果我设置
enableHighAccuracy: false
错误将是:GPS 提供商已禁用
navigator.geolocation.getCurrentPosition(onSuccess, onError, { enableHighAccuracy: false, maximumAge: 3000, timeout: 150000 });
如果我设置
enableHighAccuracy: true
错误将是:超时(因为它用完了 150000 毫秒)
我也使用 watchPosition 而不是 getCurrentPosition,但没有区别。
请帮助我,因为我不能强制用户使用高精度模式。
谢谢!!
最佳答案
我遇到了类似的问题。我在 Nexus 4 设备上测试我的应用程序,结果发现问题是该设备没有 Sim 卡。意思是,没有 Cell 数据。
事实证明,如果没有 Sim 卡/蜂窝数据,GPS 芯片将无法工作。 在另一台 Android 设备(带有正常工作的 Sim 卡)上测试后,它运行良好。
@wdev 是对的,普通的 GPS 芯片通常需要 10 分钟以上才能确定地理位置。这就是为什么大多数设备在 A-GPS 上中继,这将时间缩短到几秒钟,但需要某种连接(蜂窝或 wifi)。
如果您有兴趣,this Wikipedia article explains A-GPS
希望这对某人有帮助。
关于android - HTML5 地理定位不适用于 Android 上的仅 GPS(定位服务模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27835425/