Ich möchte einen Kreis dynamisch zeichnen (durch C++) auf einer QML
Karte, aber abhängig von der ZoomLevel, der Kreis möglicherweise nicht sichtbar. MapCircle
hat keine ZoomLevel-Eigenschaft. Also erstelle ich zuerst eine MapQuickItem
und versuche, eine MapCircle
als sourceItem
zu setzen. in QML habe ichMapQuickItem nicht in QML Map
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;
}
Wenn ich die MapCircle
ziehe nur ein Kreis auf der Karte sichtbar ist, jedoch mit dem obigen Code nichts auf jedem zoomLevel
auf dem Bildschirm erscheint, habe ich versucht, die zoomLevel
Eigenschaft zu entfernen, aber immer noch nichts erscheint .