如何设置我的纬度和经度以使用 Google Chrome 调试 Geolocation API?

Posted

技术标签:

【中文标题】如何设置我的纬度和经度以使用 Google Chrome 调试 Geolocation API?【英文标题】:How can I set my latitude and longitude for debugging the Geolocation API with Google Chrome? 【发布时间】:2011-03-31 19:59:16 【问题描述】:

对于我的开发系统,我希望能够在 Chrome 中设置地理位置(纬度、经度),这样当我进行测试时,浏览器会认为我在位置 X,而实际上我可能在位置是的。

有谁知道如何强制 Google Chrome 使用我提供的经纬度作为位置?

【问题讨论】:

【参考方案1】:

如果您谈论的是 Geolocation API,您可以覆盖该函数:

navigator.geolocation.getCurrentPosition = function(success, failure)  
    success( coords:  
        latitude: 30, 
        longitude: -105,

    , timestamp: Date.now() ); 
 

所以当库调用navigator.geolocation.getCurrentPosition 函数时,您指定的坐标将被返回。

【讨论】:

【参考方案2】:

在今天的 Chrome(版本 42)中,打开开发者工具,点击“切换设备图标”,然后在“仿真”抽屉中,选择“传感器”。在那里,您可以模拟地理位置坐标,甚至可以“模拟未知位置”。

【讨论】:

【参考方案3】:

答案有点晚了,但在 Chrome 中,您可以打开开发者工具(F12 或 Ctrl + Shift + I)。在右下方打​​开“设置”齿轮并切换到“覆盖”选项卡。有一个标记为“覆盖地理位置”的复选框。选中此框并输入您希望网站认为您所在的地理位置。

如果我解释得不够清楚,这里有一篇很好的文章,上面有截图和其他内容:http://www.labnol.org/internet/geo-location/27878/

【讨论】:

菜单名称发生了一些变化,但功能仍然存在。 更多工具 -> 传感器 -> 地理位置.【参考方案4】:

您现在可以使用 manual geolocation chrome 扩展程序手动设置您的位置。

【讨论】:

现在该扩展在商店中不可用:(【参考方案5】:

如果您正在寻找一种以自动化方式执行此操作的方法(例如 Python 中的 Selenium),来自另一个问题 (Setting sensors (location) in headless Chrome) 的答案有效:

# Override selenium geolocation
location_key = "Emulation.setGeolocationOverride"
location_details = 
        "latitude": 34.0522342,
        "longitude": -118.2436849,
        "accuracy": 100

driver.execute_cdp_cmd(location_key, location_details, )

【讨论】:

【参考方案6】:

我不知道如何在 Chrome 中执行此操作,但您可以在 Firefox 中执行此操作; this blog post 会告诉你怎么做。

【讨论】:

以上是关于如何设置我的纬度和经度以使用 Google Chrome 调试 Geolocation API?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JSON 纬度数组和 JSON 经度数组在 Google 地图上显示折线?

如何使用 Google API 查找航点上的纬度和经度

如何在我的网站上向 Google 地图小部件添加用户输入标记,并从中获取纬度和经度数据?

如何在谷歌地图API中获取高速公路和道路的纬度和经度

Google Maps API - 如何在不显示地图的情况下从自动完成获取纬度和经度?

如何从地址中找到纬度和经度?