2016-12-25 35 views
1

我一直在試圖通過下面的代碼,以使在QML一個MapPolygon可點擊的邊界:製作Mappolygon可點擊的邊界 - QML

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到QQuickItemanchors.fill:_poly.border

任何方法來解決這個錯誤,並使邊框可點擊?

由於

回答

0

錨用於定位QtQuick Item對象相對於另一,該元件的border顯然不是元素本身,只是一個普通的分組屬性。

假設path包含你有QtQuick Path一個選項是使MouseArea充滿整個項目,然後用在onClicked處理程序中的鼠標位置檢查與路徑對他們是否被擊中與否的元素。

+0

謝謝!我已經實現了這一點,但如果點位於多邊形的任何一邊,每次點擊都必須檢查,我想知道是否有更簡單/有效的方法來解決這個問題 – saitej