我想根据一些坐标在QML中绘制MapPolygon
。我从文件中提取坐标,并将其放在QVariantList
中,名称为yellowPointsQML
,并将此QVariantList
发送给QML。所以我使用这些代码(这些坐标来自文件):
在* .cpp文件中:
yellowPoints.append(QVariant::fromValue(QGeoCoordinate(38.613931, 50.842588)));
yellowPoints.append(QVariant::fromValue(QGeoCoordinate(38.613489, 50.838962)));
yellowPoints.append(QVariant::fromValue(QGeoCoordinate(38.612465, 50.837600)));
yellowPoints.append(QVariant::fromValue(QGeoCoordinate(38.610743, 50.840475)));
yellowPoints.append(QVariant::fromValue(QGeoCoordinate(38.611564, 50.843286)));
和* .qml
MapPolygon{
id: yellowCover
color: '#ffff6f'
opacity: 0.7
}
...
yellowCover.path = yellowPointsQML
并且每件事都可以,我的多边形是凸的。但是如果我改变这些坐标的类型,结果将是草率的。因为在我的输入文件中我只有一些没有任何顺序的坐标,所以我不知道如何设置坐标的顺序来绘制凸多边形。