【问题标题】:How to do getlocation other than by the browser's (W3C) "navigator.geolocation" object?除了浏览器的(W3C)“navigator.geolocation”对象之外,如何获取定位?
【发布时间】:2012-08-08 11:53:48
【问题描述】:

我知道如何使用W3C navigator.geolocation API,但刚刚发现在谷歌浏览器下,当页面在本地文件系统而不是网络服务器上时它不起作用:[1][2]

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    这两个都有点难看,但我真的不知道除了地理位置来获取 GPS 坐标。

    【讨论】:

    • 第二个建议假设您可以从全局网页重定向到您的本地网页,这可能不一定是一个好的假设。
    • 其实这个项目是没有服务器的。我没有 IP 或域托管或我自己的任何东西。我喜欢制作调用 Web API 的单个 HTML 页面工具(-:我会标记问题以使其显而易见,但似乎没有这样的标记)-:
    猜你喜欢
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 2015-01-03
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2010-10-10
    相关资源
    最近更新 更多