Geolocation API无法在某些Android设备上运行

时间:2013-09-22 12:55:47

标签: javascript html api geolocation phonegap-build

这是我在Stackoverflow上的第一篇文章。 我将描述我的问题:

它是关于HTML和Javascript中的Phonegap Build-application。我有两个文件:

“index.html”请参阅http://pastebin.com/RCQruFkE上的来源

“config.xml”请参阅http://pastebin.com/1xCvvHL1上的来源



我们有两个Android设备:

1)三星Galaxy Y(Android OS 2.3.6)

2)三星Galaxy S2(Android OS 4.1.2)

同样在我的模拟器上,Android OS 4.3,它不起作用。 你只看到: “寻找地理位置......”。 在我的三星Galaxy Y(2.3.6)上,您将成功地看到地理位置(纬度和经度以及其他一些信息)。

我也尝试在其中使用“cordova.js”与cordova 3.0.0(JS),没有文件,没有任何意义。

有没有人有同样的问题?它已于上周四晚上开始(然后它起作用),周五早上它不再起作用了。相同的APK!

3 个答案:

答案 0 :(得分:1)

或者您可以使用http://ip-api.com/json。他们提供纬度,经度,城市,国家等

jQuery示例:

$.getJSON("http://ip-api.com/json",function(data){
     var lat = data.lat;
});

他们的json输出:

{"as":"AS10199 Tata Communications Ltd","city":"Pune","country":"India","countryCode":"IN","isp":"Tata Communications","lat":18.5333,"lon":73.8667,"org":"Tata Communications","query":"115.117.217.243","region":"MH","regionName":"Maharashtra","status":"success","timezone":"Asia/Kolkata","zip":"411001"}

就这么简单。

答案 1 :(得分:0)

你引用了 cordova.js ,但在使用PhoneGap Build

时它应该是 phonegap.js
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>

应该

<script src="phonegap.js"></script>

修改

以下是official PGB样板的链接:

https://github.com/phonegap/phonegap-start/tree/master/www

查看index.html文件的内容。

答案 2 :(得分:0)

尝试添加&#34; enableHighAccuracy&#34;和#34;超时&#34;,我在一些Android设备中看到了这个问题,其中应该设置超时以允许地理定位服务工作。

var options = {   enableHighAccuracy:true,   超时:5000, };