1

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

一个主机 (192.168.1.100) 正在提供一个包含这种 javascript 的网页:

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

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

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

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

提前致谢

4

1 回答 1

1

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

您可以尝试将 maximumAge 设置得非常高以使用缓存数据或将超时设置为零强制 GPS 或类似的东西;但您可能无法在所有 Android 浏览器中获得一致的结果。

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

于 2012-04-11T04:50:16.493 回答