移动Android设备上的HTML5地理定位行为
HTML5 Geolocation behaviour on mobile Android device
我正在尝试在以下设备上使用HTML5地理定位:
- HTC One X
- Android 4.1.1
- WebKit/534.30(内置浏览器WebKit版本)
在内置浏览器和最新版本的Chrome-app上,使用HTML5 Geolocation API的网站将无法找到我。然而,Firefox-app会在几秒钟内找到我。
这是一个问题,因为多平台应用程序开发平台,例如PhoneGap,使用WebViews(=内置浏览器)作为整个应用程序的容器。此外,如果一个网络应用程序不能做它应该做的事情,普通用户就不会尝试不同的浏览器
我的第一个想法是需要更多的时间来定位我,所以我设置了5分钟的超时(见帖子底部)。但是,它会在没有找到我的位置的情况下到达超时。如果我不设置超时,回调函数就永远不会被调用(我等了大约一个小时)。
我的第二个想法是,可能在我手机或浏览器设置的某个地方,请求位置的网站被屏蔽了。事实并非如此。
所以我的下一个想法是,也许这是一个编程问题,因为浏览器不遵循W3C标准,所以它们的API可能会以不同的方式工作。如果是,我如何在这些浏览器中检索该设备上的位置?
由于即使是像谷歌这样编码良好的网站也无法使用API在这些浏览器上获取我的位置,这可能不是编程问题。如果确实不是,我应该咨询哪个StackExchange网站?(例如,如果是设备问题?)
我正在使用的API(MDN):
navigator.geolocation.getCurrentPosition(success, error, options);
// Where success and error are callbacks and the options object may contain:
// enableHighAccuracy - boolean, speaks for itself
// timeout - maximum amount of milliseconds before one of the callbacks is called
// maximumAge - maximum age in milliseconds of cached location
嗨,我在同一台设备上遇到了类似的问题:
我将其设置为:
{enableHighAccuracy: true}.
Vladimir
我想这是一个操作系统问题。该手机的最新更新不再存在此问题。
我尝试过enableHighAccuracy: true
选项,但这对我的情况没有任何影响。不过,它确实在精度方面与其他手机有很大不同。
相关文章:
- 如何用HTML5地理定位API实现承诺
- 如何强制HTML5地理定位失败
- 当使用HTML5地理定位(使用Meteor js)时,谷歌地图不会显示在Firefox上
- HTML5:矩形定位不准确
- 在我的网页上定位 Canvas HTML5 游戏时遇到问题
- Qt WebKit和HTML5地理定位
- 移动Android设备上的HTML5地理定位行为
- 点击html5地理定位当前位置,然后减去两点
- 谷歌地图Api HTML5地理定位与安卓定位Api
- 手机在安卓系统上唤醒后,带有GPS的HTML5地理定位失败
- 猜测HTML5地理定位何时能正常工作
- HTML5画布:在画布外生成随机定位的对象
- 通过HTML5地理定位API以外的方式识别用户的地理位置
- Html5地理定位在谷歌地图api
- Html5地理定位不能在safari浏览器上工作
- HTML5获取地理定位功能
- 高精度地理定位Html5
- 地理定位HTML5 API enableHighAccuracy:True不强制GPS在Android设备上打开
- 如何大小和定位html5画布在javascript
- 当改变文本框中的X和Y时,重新定位HTML5 Canvas上的元素