当连接到192.168.x.x时,如何使用navigator.geolocation获取lat long信息

时间:2012-04-05 06:33:05

标签: jquery android geolocation navigator w3c-geolocation

我正在尝试建立一个纯粹的本地无线局域网,无法访问更广泛的互联网。即所有网站都是通过192.168.x.x地址从主机提供的。

一个主机(192.168.1.100)正在为其中包含此类javascript的网页提供服务:

navigator.geolocation.getCurrentPosition(showPosition,errorPosition,{enableHighAccuracy:true});

我正在使用Android手机连接此主机。 (目的是提取手机的GPS位置并将其上传到主机,以便通过KML文件在Google Earth上显示。)

Android上的浏览器应用程序确实通过名为http://example.com/locationtest.html的命名服务器在WAN上访问该应用程序时提供了一个位置,但是当我从WAN断开连接并连接到仅本地LAN并加载时同一页面然后navigator.geolocation.getCurrentPosition似乎不起作用。

想法?已知的禁令?调试此问题的方法? (我们在设备上没有一个很好的javascript调试器......有没有办法伪造这个设备在桌面上响应的方式?)

提前致谢

1 个答案:

答案 0 :(得分:1)

我相信你的问题在于地理定位;因为它不仅仅用于GPS。我知道你将enableHighAccuracy设置为true;这应该强制GPS 如果设备有,但取决于浏览器如何实现getCurrentPosition;如果没有要连接的地理位置数据库,它可能会拒绝工作。

您可以尝试将maximumAge设置得非常高以使用缓存数据或将超时设置为零强制GPS或沿着这些线路的某些内容;但是,您可能无法在所有Android浏览器中获得一致的结果。

实际上;有这个问题,我有点惊讶。我确定我阅读了描述离线方案的W3C Geolocation API规范的用户案例。您应该尝试显示从PositionError接口返回的数据,看看是否可以获得更多信息。