Подскажите, может кто знает...
Создаю динамический объект при клике на карте:
import QtQuick 2.5
import QtQuick.Layouts 1.1
import QtQuick.Controls 1.4
import QtPositioning 5.3
import QtLocation 5.5
//--
Item
{
id: viewMap;
anchors.fill: parent;
Plugin
{
id: pluginMapOSM;
name: "osm";
}
Map
{
id: map;
anchors.fill: parent;
plugin: pluginMapOSM;
center: QtPositioning.coordinate(47.94494, 33.43207);
zoomLevel: 15;
MouseArea
{
anchors.fill: parent;
hoverEnabled: true;
onClicked:
{
var component = Qt.createComponent("ItemRectangle.qml")
var item = null;
if(component.status == Component.Ready)
{
item = component.createObject(map);
}
else
console.log(component.errorString());
}
onPositionChanged:
{
}
}
}
}
вот ItemRectangle:
import QtQuick 2.5
import QtPositioning 5.3
import QtLocation 5.5
MapRectangle
{
id: mapRect
topLeft: QtPositioning.coordinate(47.94494, 33.43207);
bottomRight: QtPositioning.coordinate(47.95, 33.45);
opacity: 0.5
color: "yellow"
border.color: "red"
border.width: 2
}
При клике на карте прямоугольника нет...если же сделать так:
import QtQuick 2.5
import QtQuick.Layouts 1.1
import QtQuick.Controls 1.4
import QtPositioning 5.3
import QtLocation 5.5
//--
Item
{
id: viewMap;
anchors.fill: parent;
MouseArea
{
anchors.fill: parent
onClicked:
{
var component = Qt.createComponent("ItemRectangle.qml");
if(component.status == Component.Ready)
var item = component.createObject(viewMap);
}
}
}
ItemRectangle:
import QtQuick 2.5
import QtPositioning 5.3
import QtLocation 5.5
Rectangle
{
id: rect
width: 100
height: 100
color: "red"
}
В этом случае при клике появляется красный квадрат. Насколько я понял из документации, то создаваемый объект будет визуальным, если родитель является визуальным...Но почему-то в случае с картой такое не получается.