0

尝试在地图上创建菜单时,在 Android 上使用 onPressAndHold 时,菜单会在地图中心弹出,而不是在地图上触摸的位置。但是,相同的代码在桌面(Ubuntu)上可以正常工作。当在地图上按住鼠标时,菜单会从 Ubuntu 上的鼠标位置弹出。我还在 Qt 5.13 中尝试了 Map Viewer 示例,它是一样的。是否可以修复 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()
    }
}
4

1 回答 1

1

感谢 Ramkumar R 的回答。现在它在弹出窗口中使用 mouse.x 和 mouse.y 时可以工作:

MouseArea {
        anchors.fill: parent
        onPressAndHold:mapPopupMenu.popup(mouse.x, mouse.y)
    }
于 2020-05-31T11:49:04.353 回答