PhoneGap

时间:2015-09-22 01:17:27

标签: javascript cordova geolocation

我使用PhoneGap创建了一个应用程序,需要访问用户当前的纬度和经度才能运行。 这是我做的:

navigator.geolocation.getCurrentPosition(function(pos) {
    // code using pos
});

在浏览器上,这会要求您的访问权限,但在完成的应用程序上,它不会询问任何内容,只是不起作用。 有什么我做错了/丢失了吗?

1 个答案:

答案 0 :(得分:0)

@Dogmatics, 没有足够的信息来调试您的问题。假设你打开了GPS和位置服务,那么你忘了等待'deviceready'事件。

来自documentation

  

这是每个Cordova应用程序都应该使用的非常重要的事件。

     

Cordova由两个代码库组成:native和JavaScript。在加载本机代码时,会显示自定义加载图像。但是,只有在DOM加载后才会加载JavaScript。这意味着您的Web应用程序可能会在加载之前调用Cordova JavaScript函数。

     

当Cordova满载时,Cordova deviceready事件将会激活。设备触发后,您可以安全地调用Cordova功能。

如果证明这是正确的,你会想要阅读#4:
Cordova / Phonegap新手的开发人员的主要错误
https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md

最好的运气