我想在地图上动态地(通过 C++)绘制一个圆圈QML
,但是根据缩放级别,圆圈可能不可见。MapCircle
没有 zoomLevel 属性。所以我首先创建 aMapQuickItem
并尝试将 aMapCircle
作为它的sourceItem
. 在 QML 我有
function add_point(lat, lng){
var circle = Qt.createQmlObject('import QtLocation 5.3; MapCircle { }', map, "dynamic");
circle.center = QtPositioning.coordinate(lat, lng);
circle.radius = 5.0;
circle.color = 'blue';
circle.border.width = 1;
var item = Qt.createQmlObject('import QtLocation 5.3; MapQuickItem{}', map, "dynamic");
item.anchorPoint.x = 2.5;
item.anchorPoint.y = 2.5;
item.coordinate = QtPositioning.coordinate(lat, lng);
item.sourceItem = circle;
item.zoomLevel = 19.0
map.addMapItem(item);
map.points.push(item);
return true;
}
如果我只是在地图上画了MapCircle
一个圆圈,但是上面的代码在任何屏幕上都没有出现任何内容zoomLevel
,我尝试删除该zoomLevel
属性,但仍然没有出现。