ArcGIS for qml 點選新增自由文字
阿新 • • 發佈:2018-12-17
實現在地圖上滑鼠隨意點選新增輸入文字功能
要想在地圖上新增標註和圖形,必須瞭解圖層的概念。
怎麼建立會在單獨一篇部落格中講解。
這裡在地圖上實現新增自由文字的功能,操作過程是在地圖上任意一個地方點選,然後點選新增文字按鈕,彈出一個輸入框,輸入想要輸入的文字後回車,文字就會出現在地圖上點選的地方。關於新增文字的字型大小、顏色,這個以後會在完善後更新部落格。
1.新增需要的元件-地圖、按鈕、輸入框
實現什麼功能必須先弄清楚需要哪些操作,順序是什麼,在這裡,是在地圖的左上方佈局一個按鈕,輸入框可以在按鈕的下方,首先做好佈局
2.新增承載文字的圖層
只需要記住,每個符號、圖形、圖片、點等都需要在GraphicsOverlay
核心程式碼如下:
//容納文字的圖層 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 }