zouyaoji / vue-cesium

🎉 Vue 3.x components for CesiumJS.
https://zouyaoji.top/vue-cesium
MIT License
1.47k stars 317 forks source link

[Bug Report] 移动端标绘线面时无法终止 #169

Closed ValjeanWill closed 2 years ago

ValjeanWill commented 2 years ago

VueCesium version

3.0.11

OS/Browsers version

win10/google latest

Vue version

3.2.31

Cesium version

1.91.0

Reproduction Link

www.github.com

Steps to reproduce

因为标绘线面时,预设是鼠标双击结束绘制事件,但是移动端触摸事件无法识别“二次点击”,导致线面的标绘事件无法停止。

What is Expected?

触摸双击停止线、面的标绘事件

What is actually happening?

无法停止

ValjeanWill commented 2 years ago

现在设想是点击一个按钮终止标绘事件,不过我没找到相应方法。。。请问大佬有没有相关的接口方法?谢谢:)

zouyaoji commented 2 years ago

ref模板引用,调用toggleAction方法。

ValjeanWill commented 2 years ago

ref模板引用,调用toggleAction方法。

大佬,我试了一下调用toggleAction方法,但这好像是直接终止标绘事件,我的想法是点击按钮提前“完成”标绘事件。(上面表达有误,抱歉)

zouyaoji commented 2 years ago

ref模板引用 getDrawingActionInstances 方法获取到所有的绘制实例数组。 在这个数组取出你想停止的那个实例 .cmpRef.value.stop()

ValjeanWill commented 2 years ago

ref模板引用 getDrawingActionInstances 方法获取到所有的绘制实例数组。 在这个数组取出你想停止的那个实例 .cmpRef.value.stop()

没试成功😭,调用stop()后球上的现有线或面标绘是直接消失的。。。有点穷途末路的感觉了。。

zouyaoji commented 2 years ago

中午我测一下哈。

还有你的触摸屏真的不能模拟双击事件吗?

ValjeanWill commented 2 years ago

中午我测一下哈。

还有你的触摸屏真的不能模拟双击事件吗?

大佬,我刚才调用startNew方法成功了。。

ValjeanWill commented 2 years ago

中午我测一下哈。 还有你的触摸屏真的不能模拟双击事件吗?

大佬,我刚才调用startNew方法成功了。。

ValjeanWill commented 2 years ago

中午我测一下哈。

还有你的触摸屏真的不能模拟双击事件

NB,大佬,真成了,好像调用startNew方法上一个绘制事件就自动完成了。我再研究研究,大神NB

zouyaoji commented 2 years ago

有没有啥建议?

ValjeanWill commented 2 years ago

有没有啥建议?

如果可以的话,当然是能不能实现移动端触摸双击完成线和面的标绘哈哈哈😂

zouyaoji commented 2 years ago

我早上了解了一下,触摸屏确实没有双击的操作,回头看看有没有啥方便的触摸手势吧。

ValjeanWill commented 2 years ago

我早上了解了一下,触摸屏确实没有双击的操作,回头看看有没有啥方便的触摸手势吧。

OK,辛苦了大佬

zouyaoji commented 2 years ago

没找到好的解决办法,还是提供方法,自己加按钮弄吧?

zouyaoji commented 2 years ago

@ValjeanWill 准备模拟一个长按事件。

你业务上有在 cesium球上 响应长按事件没?

zouyaoji commented 2 years ago

在移动端操作时,长按即结束绘制。