Как получить MapItems из карты qml - PullRequest
       0

Как получить MapItems из карты qml

0 голосов
/ 27 сентября 2019

У меня есть реализация qml Map, добавив несколько MapQuickItems.Теперь я хотел бы получить отдельные MapQuickItems с карты (например, нажав).

Моя первая попытка была childAt.ChildAt (…) все время возвращает один и тот же объект.Даже если в выбранной позиции нет объекта.

Как я могу получить существующие объекты карты на карте qml?

План Б: Как я могузапросить все объекты карты в определенной области?

ColumnLayout {

  ...

  Item {
    Layout.fillHeight: true
    Layout.fillWidth: true

    Map {
      id: map
      objectName: "Map"
      anchors.fill: parent

      plugin: openTopoPlugin
    }

    MouseArea {
      id: mapMouseArea
      objectName: "Mouse Area"
      anchors.fill: parent
      acceptedButtons: Qt.LeftButton | Qt.RightButton
      hoverEnabled: true
    }
  }
}
MsnMapFormular {

  MapItm { // MapQuickItem
    id: mapItm
    coordinate: QtPositioning.coordinate( 48.089116, 11.284820 );
  }

  MapPolygonObj { // MapItemGroup
    id: mapGrp
    objectName: "mapGrp"
  }

  map.center: QtPositioning.coordinate(48.08120, 11.28295) // opf

  map.plugin: Plugin { name: 'osm'; }

  Component.onCompleted: {
    msnMap.addMapItem( mapItm )
    msnMap.addMapItemGroup( mapGrp )
  }

  mapMouseArea.onClicked: {
    if (mouse.button === Qt.LeftButton) {
      var itm = map.childAt( mapMouseArea.mouseX, mapMouseArea.mouseY )
      if ( itm )
        console.log( itm.objectName )
      else
        console.log( "no object here" )
      }
    }
  }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...