使Mappolygon的边框可点击 - QML

时间:2016-12-25 08:53:36

标签: qt qml qtlocation

我一直试图通过以下代码在QML中点击 MapPolygon 的边框:

MapPolygon{
        id: _poly
        border.color: "black"
        border.width: 4
        color: "transparent"
        visible: false
        path: []
        MouseArea{
            id: _polyMousearea
            anchors.fill: _poly.border
            acceptedButtons: Qt.LeftButton
            onClicked: {
                var coord = _map.toCoordinate(Qt.point(flightMapMouseArea.mouseX,flightMapMouseArea.mouseY))
console.log(coord )

                }

            }
        }

    }

我收到以下错误:

无法在行中将 QDeclarativeMapLineProperties指定给QQuickItem anchors.fill:_poly.border

是否可以解决此错误并使边框可点击?

由于

1 个答案:

答案 0 :(得分:0)

Anchor用于相对于另一个定位QtQuick Item个对象,此元素的border显然不是元素本身,只是一个正常的分组属性。

假设path包含QtQuick Path一个选项,您可以让MouseArea填充整个项目,然后使用onClicked中的鼠标位置处理程序,检查路径的元素是否被命中。