【发布时间】:2015-03-20 12:20:30
【问题描述】:
我正在编写一个需要用户当前位置坐标的应用程序。我使用 Cordova Geolocation API 并在 Intel XDK 环境中进行开发。
在某些手机(例如三星 S3 和 S4)中,API 无法获取位置,而是返回超时错误。但是,有时重启手机后会起作用。
我需要一个稳定的解决方案,因为该位置对我的项目至关重要。这是我当前的代码:
navigator.geolocation.getCurrentPosition(geolocationSuccess,
geolocationError,
{maximumAge:0,timeout: 7000, enableHighAccuracy: true});
我尝试使用不同的参数(更改的 maximumAge、超时等)调用 getCurrentPosition,但似乎没有任何效果。
有什么办法可以解决这个问题吗?是否还有其他一些插件可以让我获取用户的位置?或者,我可以使用手机的原生功能来获取位置吗?
【问题讨论】:
-
拒绝工作的手机是否开启了GPS?
-
您是否更改了设备的安全设置。转到设置 -> 安全 -> 选中“未知来源”复选框,以允许您的 apk 正常运行。
-
@shamaleyte 如果未选中,您甚至无法安装来自外部来源的程序。
-
@GrawCube 你是对的,你不能。但是有可能在您安装应用程序后未选中“未知来源”复选框。在这种情况下,您的应用将打开,但无法按预期运行。
-
感谢您的回复。但是我需要一个明确的解决方案,我不能对所有安装了我的应用程序的人说你应该检查你的手机安全设置或重启他们的手机。原生 android 程序不要求这样做,但它们可以像foursquare 等那样有效地使用定位服务......
标签: cordova gps intel intel-xdk w3c-geolocation