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

发布于 2024-10-28 00:15:17 字数 130 浏览 1 评论 0原文

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

Y。有人知道如何强制 Google Chrome 使用我提供的纬度和经度作为位置吗?

For my development system I'd like to be able to set the Geolocation (Lat, Long) in Chrome so that when I'm doing the testing the browser thinks I'm at location X when I really might be at location Y.

Does anyone know how to force Google Chrome to use a Lat and Long that I provide as the location?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

未央 2024-11-04 00:15:17

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

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

    }, timestamp: Date.now() }); 
} 

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

If you're talking about the Geolocation API, you can override the function:

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

    }, timestamp: Date.now() }); 
} 

So when a library calls into the navigator.geolocation.getCurrentPosition function the coordinates you specify will be returned.

一生独一 2024-11-04 00:15:17

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

在此处输入图像描述

In Chrome today (version 42), open Developer Tools, click the "Toggle Device Icon", then in the "Emulation" drawer, chose "Sensors". There, you can Emulate geolocation coordinates and even "Emulate position unknown".

enter image description here

執念 2024-11-04 00:15:17

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

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

A little late on the answer, but in Chrome you can open the Developer Tools (F12 or Ctrl + Shift + I). In the lower right hand open the 'Settings' gear and switch to the 'Overrides' tab. There is a checkbox labeled 'Override Geolocation'. Check this box and enter in what ever geolocation that you want the site to think you are at.

In case I haven't explained it clearly enough, here is a good article that goes over it with screenshots and what not: http://www.labnol.org/internet/geo-location/27878/

白鸥掠海 2024-11-04 00:15:17

您现在可以使用手动地理定位 Chrome 扩展程序来手动设置您的位置。

You can now use the manual geolocation chrome extension to set your location manually.

西瑶 2024-11-04 00:15:17

如果您正在寻找一种以自动化方式执行此操作的方法(例如Python中的Selenium),请使用另一个问题的答案(在 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, )

If you are looking for a way to do this in an automated fashion (e.g. Selenium in Python), this answer from another question (Setting sensors (location) in headless Chrome) works:

# 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, )

叹沉浮 2024-11-04 00:15:17

我不知道在 Chrome 中执行此操作的方法,但您可以在 Firefox 中执行此操作; 这篇博文将告诉您如何操作。

I am unaware of a way to do it in Chrome but you can do it in Firefox; this blog post will tell you how.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文