我试图在开放图层中测试平移动作,但我无法让地图移动。我使用的版本如下:
- OpenLayers: 6.10.0
- 柏树:9.7.0
这是我的代码:
When('I pan the map to a different area', () => {
cy.wait(3000)
cy.get('.ol-layer canvas').trigger('pointerdown', {
clientX: 900,
clientY: 300,
force: true,
pointerId: 1,
})
cy.get('.ol-layer canvas').trigger('pointermove', {
x: 600,
y: 200,
force: true,
pointerId: 2,
})
cy.get('.ol-layer canvas').trigger('pointermove', {
x: 300,
y: 100,
force: true,
pointerId: 1,
})
cy.wait(2000)
cy.get('.ol-layer canvas').trigger('pointerup', { force: true, pointerId: 1 })
})
我一直在处理同样的问题。最终我成功了,至少部分成功了。唯一的问题是,第一个点间移动被忽略,但其余的都很好。我不知道为什么会这样。
这是代码。希望它对你也有用
cy.get('.ol-viewport')
.trigger('pointerdown', {
eventConstructor: 'MouseEvent',
clientX: 891,
clientY: 544,
force: true,
isPrimary: true
})
cy.wait(1000)
cy.get('.ol-viewport')
.trigger('pointermove', { clientX: 871, clientY: 530 })
cy.wait(1000)
cy.get('.ol-viewport')
.trigger('pointermove', { clientX: 871, clientY: 500 })
cy.wait(1000)
cy.get('.ol-viewport')
.trigger('pointermove', { clientX: 891, clientY: 510 })
cy.wait(1000)
cy.get('.ol-viewport')
.trigger('pointerup', {
eventConstructor: 'MouseEvent',
force: true,
})