当尝试在地图上创建菜单时,当在安卓系统上使用onPressAndHold时,菜单会弹出在地图的中心,而不是触摸地图上的位置。然而,相同的代码在桌面(Ubuntu)上运行正常。在地图上按住鼠标时,菜单会从Ubuntu上的鼠标位置弹出。我也试过Qt 5.13中的Map Viewer example,它是一样的。有没有可能修复Android的菜单位置?谢谢。
import QtQuick.Window 2.2
import QtQuick 2.11
import QtQuick.Controls 2.4
import QtLocation 5.11
import QtPositioning 5.11
Window {
id: root
visible: true
width: 640
height: 480
Plugin {
id: mapPlugin
name: "osm"
}
Menu {
id:mapPopupMenu
Action {
text: qsTr("Get coordinate")
}
}
Map {
id: map
anchors.fill: parent
plugin: mapPlugin
zoomLevel: 14
center: QtPositioning.coordinate(40,40)
activeMapType: supportedMapTypes[1]
}
MouseArea {
anchors.fill: parent
onPressAndHold:mapPopupMenu.popup()
}
}发布于 2020-05-31 19:49:04
感谢Ramkumar R的回答。现在它可以在popup中使用mouse.x和mouse.y:
MouseArea {
anchors.fill: parent
onPressAndHold:mapPopupMenu.popup(mouse.x, mouse.y)
}https://stackoverflow.com/questions/62092748
复制相似问题