使用 OpenLayers 开发 Web 地图解决方案时模拟移动地理位置

问题描述 投票:0回答:1

标题很长,但问题很简单,我还没有找到好的解决方案。

先决条件

  • ASP.NET Framework Web 表单应用程序(不是很重要)
  • 使用 OpenLayers 2.14 的地图解决方案(是的,我知道它很旧,但它有效)

我目前正在实现一项功能,该功能将在地图中显示设备的当前位置,它基于 OpenLayers 的 Geolocate 控件。它对于初始负载非常有效,但我想模拟一个人使用他们的设备在地理上移动以进行测试。

我尝试过的

  • 我尝试使用DevToolsSensors功能。同样,这适用于初始加载,更改位置需要刷新页面。
  • 我尝试使用 Selenium ChromeDriver 通过以下命令发送坐标:
    Emulation.setGeolocationOverride
    ,但这不会触发
    watchPosition
    被更新为
    navigator.geolocation
  • 找不到任何合适的 Chrome 扩展来解决该问题。

有人知道解决这个问题的最佳实践吗?目前我必须恢复一些重构并使用

setInterval
模拟一些更新。然而,如果我没有在野外使用我的开发设备运行,这将无法完全测试
navigator.geolocation
功能的行为。

javascript testing geolocation openlayers
1个回答
0
投票

对于使用 OpenLayers 2.x 的任何人,我想补充一点,通过使用

Geolocate
控件将 watch 属性指定为 true,您可以省去很多麻烦。这是默认的
false
,导致很多测试失败。如果设置了 watch 属性,则使用 DevTools 的
Sensors
功能进行简单测试即可按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.