我有一组其中QPointF
的MarkerModel
子类来自AbstractListModel
. 每个这样的标记都有一个状态,取决于它们的颜色。我想在地图上绘制所有这些标记以及一条连接具有特定状态的所有点的折线。我将从 C++ 端更新模型。这是我的 QML
Map {
id: map
anchors.fill: parent
plugin: mapPlugin
center: QtPositioning.coordinate(22.5726, 88.3639)
zoomLevel: 14
MapItemView {
model: markerModel
// delegate: markerDelegate // markerDelegate works
delegate: routeDelegate // routeDelegate does not work
}
Component {
id: markerDelegate
MapQuickItem{
anchorPoint: Qt.point(2.5, 2.5)
coordinate: QtPositioning.coordinate(position.x, position.y)
zoomLevel: 0
sourceItem: Rectangle{
width: settings.marker_size;
height: settings.marker_size;
radius: settings.marker_size/2;
color: settings.marker_colors[status]
border.color: "white"
border.width: 1
}
}
}
Component{
id: routeDelegate
MapRoute{
route: markerModel
line.color: "blue"
line.width: 5
smooth: true
opacity: 0.8
}
}
}
我实际上想要场景中的点和折线。但是,由于我不知道如何将它们都放在场景中,所以我首先尝试使用 显示模型中的点markerDelegate
,这很有效。现在我想将这些点视为一条折线routeDelegate
。但它抱怨
无法将 MarkerModel 分配给 QDeclarativeGeoRoute