如何通过浏览器(W3C)“navigator.geolocation”对象进行getlocation?

时间:2012-08-11 11:13:27

标签: google-chrome geolocation file-uri w3c-geolocation

我知道如何使用W3C navigator.geolocation API,但刚刚发现Google Chrome浏览器在页面位于本地文件系统而非网络服务器上时无效:[1],{{ 3}}

我可以使用哪些其他技巧来获取纬度和经度,或者获取当前位置的国家/地区代码?

(我正在从本地文件系统运行我的项目,因为理想情况下它不需要自己的服务器。事实上我甚至没有我自己的域名或托管等(用我的上网本搭便车到世界各地)过去的一年)。它在第三方服务器上调用Web API,但没有自己的服务器。)

(是的,我知道我可以通过运行Python的SimpleHTTPServer这样的本地Web服务器来解决这个问题,但我们假设这个问题不可能解决这个问题。)

1 个答案:

答案 0 :(得分:0)

如果您可以打开ajax的跨域请求(例如,如果您正在开发此请求以在移动设备上本地运行),您可以向服务器发出ajax请求,然后对来自它的全局IP地址进行地理定位。地理位置有时不准确(例如,我在犹他州,我的手机的IP出现在俄克拉荷马州)。

您还可以将用户重定向到另一台服务器上托管的页面并执行相同操作,然后使用查询字符串中的GPS坐标将其转发回来。

这两个都有点难看,但我不知道除了地理定位以外的其他任何方式来获取GPS坐标。