gpt4 book ai didi

google-chrome - 在 Chrome 上持续模拟 GPS 位置

转载 作者:行者123 更新时间:2023-12-02 00:46:31 35 4
gpt4 key购买 nike

对于移动网络应用程序,我想模拟设备的位置移动。虽然可以使用 Chrome 开发者控制台中的传感器选项卡覆盖单个位置(请参阅:https://developers.google.com/web/tools/chrome-devtools/device-mode/device-input-and-sensors),但我想连续覆盖该位置,例如每秒更新一次设备的位置。

是否有可能在 Chrome(或任何其他桌面浏览器)中实现此目的?

我正在寻找类似于 Android 模拟器的解决方案,它允许重播记录的 GPS 轨迹(来自 GPX 或 KML 文件): enter image description here

(参见:https://developer.android.com/guide/topics/location/strategies.html#MockData)

最佳答案

DevTools 没有这方面的功能,但如果您碰巧使用 getCurrentPosition(),您几乎可以通过覆盖片段中的函数来重新创建它。

如果您正在使用 watchPosition()(您可能正在使用),我想这个工作流将无法正常工作,因为我相信这基本上是一个在浏览器更新坐标时被触发的监听器。无法更新浏览器的坐标。

但是,我会在下面记录工作流程,因为它可能对其他人有用。

  1. 将脚本存储在 snippet 中.
  2. Override navigator.geolocation.getCurrentPosition()到目标坐标。

因此,您可以将坐标和时间戳存储在 JSON 中(在代码片段中,或者只是使用 XHR/Fetch 从代码片段中获取 JSON),然后使用 setTimeout() 更新在指定时间坐标。

var history = [
{
time: 1000,
coords: ...
},
{
time: 3000,
coords: ...
}
];

for (var i = 0; i < history.length; i++) {
setTimeout(function() {
navigator.geolocation.getCurrentPosition = function(success, failure) {
success({
coords: history[i].coords,
timestamp: Date.now()
});
}, history[i].time);
}

关于google-chrome - 在 Chrome 上持续模拟 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43341227/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com