如何设置我的纬度和经度以使用 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 地图小部件添加用户输入标记,并从中获取纬度和经度数据?