我目前正在将一个应用程序从Qt 4移植到Qt 5,并且遇到WebViewQML元素的一些问题。我可以成功地将谷歌地图网页加载到WebView中,但该页面只对单次或双击做出响应;尝试单击并拖动地图视图来平移可见区域没有任何效果。
以前,在我的代码的Qt 4版本中,我使用"pressGrabTime:0"WebView属性并欺骗用户代理,以实现点击-拖动功能。
我已经参考了Qt 5提供的MiniBrowser示例的源代码,该示例似乎可以生成模拟触摸事件,以启用所需的功能。然而,示例代码使用了许多私有框架,我希望这些框架在理想情况下不必合并到我自己的代码中。
有人能解释一下为什么WebView元素对点击拖动事件没有响应,并提出一种克服这种情况的方法吗?
我不能回答你的问题,但也许我可以为你的问题提供另一个解决方案。
谷歌地图为您提供基于long/lat&缩放级别,也许你可以向相邻的瓷砖提出侧面请求,并将它们缝合成你想要的图像。
看看tangogps/foxtrotgps,它是开源的,所以你可以看到他们做了什么来让谷歌地图瓦片与那里的软件一起工作。