天天看點

ArcGIS for qml -添加自由文本

源碼: https://github.com/sueRimn/ArcGIS-for-qml-demos

實作地圖上滑鼠點選後添加自由文本功能

版權聲明:如需轉載,請聯系獲得授權或者附上原文連結

 (沒有錄進滑鼠)效果如下:

ArcGIS for qml -添加自由文本

要想在地圖上添加标注和圖形,必須了解圖層的概念。

ArcGIS for qml -添加自由文本

怎麼建立會在單獨一篇部落格中講解。

這裡在地圖上實作添加自由文本的功能,操作過程是在地圖上任意一個地方點選,然後點選添加文本按鈕,彈出一個輸入框,輸入想要輸入的文字後回車,文本就會出現在地圖上點選的地方。關于添加文本的字型大小、顔色,這個以後會在完善後更新部落格。

1.添加需要的元件-地圖、按鈕、輸入框

實作什麼功能必須先弄清楚需要哪些操作,順序是什麼,在這裡,是在地圖的左上方布局一個按鈕,輸入框可以在按鈕的下方,首先做好布局

2.添加承載文本的圖層

隻需要記住,每個符号、圖形、圖檔、點等都需要在GraphicsOverlay裡添加,不同的圖形添加在對應各種的圖形層上,也可以使用js進行建立

核心代碼如下:

//容納文本的圖層
        GraphicsOverlay{
            id:textGraphicOverlay
            //文本圖形
        }
        onMouseClicked: {
            addTextPoint = mouse.mapPoint
            console.log("添加文本坐标點:",addTextPoint)
            textIpt.visible = true;
            textSymbol = ArcGISRuntimeEnvironment.createObject("TextSymbol")
            textSymbol.size = 15;
            textSymbol.color = "yellow";
            textGraphicOverlay.graphics.append(createGraphic(addTextPoint,textSymbol))
        }
    }
    Button{
        id:addTextBtn
        anchors{
            top:mapView.top
            left: mapView.left
            margins: 5
        }

        width: 100
        height: 45
        text: "addText"
        onClicked: textIpt.visible = true
    }
    TextField{
        id:textIpt
        visible: false
        anchors{
            top:addTextBtn.bottom
            left: mapView.left
            margins: 5
        }
        width: 100
        height: 40
        Keys.enabled: true
        Keys.onReturnPressed: {
            textSymbol.text = textIpt.text
            textIpt.text = ""
            textIpt.visible = false

        }
    

      

 關于滑鼠點選兩點進行測距在另一篇博文:

《ArcGIS for qml 測距》

繼續閱讀