为移动 Chrome 上的本地文件启用地理定位

Posted

技术标签:

【中文标题】为移动 Chrome 上的本地文件启用地理定位【英文标题】:Enable geolocation for local files on Mobile Chrome 【发布时间】:2012-09-13 15:38:10 【问题描述】:

我有与this one 非常相似的问题,不过是关于 Mobile Chrome 或我可以在 android 上安装的任何其他浏览器。

我使用 html5 地理定位功能编写了一个简单的脚本,但它在 Mobile Chrome 和 Android 4.1 系统浏览器中都不起作用。在第一个中,我的脚本返回“用户被拒绝”错误代码,尽管我没有拒绝任何事情(尽管在 Chrome 设置中启用了地理定位)。在系统浏览器中,状态保持在“空闲”(启动值),这让我觉得这个糟糕的浏览器甚至不兼容 HTML5,也不支持 jQuery,我用过。

因为我想开发一个无连接脚本(仅基于设备 GPS 的位置),我需要任何能够在 Android 上运行并允许我使用本地存储文件中的地理定位的解决方案(可通过 @987654322 访问) @ 协议)。有人知道吗?

【问题讨论】:

【参考方案1】:

根据您链接到的错误,file:// URL 的地理定位和许多其他功能被禁用(就像在 Chrome 桌面中一样)。在常规 Chrome 中,您可以使用一些有用的标志(如 --allow-file-access-from-files)启动浏览器,但如果不运行本地 HTTPD,则无法启用地理定位。

对于移动版 Chrome,我们愿意接受有关新开发者功能的建议。请将此作为功能请求记录到http://new.mcrbug.com。

【讨论】:

我已将我的geo.html 上传到服务器并从那里通过 Mobile Chrome 访问它。虽然在我的手机中启用了 GPS 定位,并且虽然我有 GPS 修复(之前在 Google 地图中测试过一两秒),但我的 HTML5-geo-enabled 脚本仍然显示一些从 GPRS 获得的垃圾位置。不知道为什么会这样(我使用的是 Google Nexus 手机)。所以,当然,我可以将此作为功能请求报告,但老实说 - 移动 Chrome 中的地理定位对我来说根本不起作用,所以我可能不得不放弃这种方式,转而支持 PhoneGapp 应用程序甚至本机 Java 应用程序。 自 chrome 50 起,仅通过 https 支持地理定位。莫非你是通过http试的?

以上是关于为移动 Chrome 上的本地文件启用地理定位的主要内容,如果未能解决你的问题,请参考以下文章

为啥移动 HTML 地理定位应用程序比本地应用程序获得更少的位置更新?

Geolocation地理定位

为啥标题在带有 chrome 的 android 上的地理定位中保持“空”

Javascript地理定位不适用于更新的android chrome

如何在 iOS 中禁用/启用本地通知?

Android webview html5地理定位