Ich stehe auf dem Weg mapReady funktioniert in QML.QT/QML Wie funktioniert mapReady auf einer Karte?
Nach dem doc http://doc.qt.io/qt-5/qml-qtlocation-map.html#mapReady-prop, ist es ratsam, das Signal für diese Eigenschaft anstelle von Component.onCompleted emittiert zu verwenden
Aus diesem einfachen main.qml Code
import QtQuick 2.0
import QtQuick.Window 2.0
import QtLocation 5.6
import QtPositioning 5.6
Window {
width: 512
height: 512
visible: true
Item{
anchors.fill: parent
objectName: "bboxObj"
Map {
anchors.fill: parent
id: map
plugin: Plugin{name: "osm"}
zoomLevel: (maximumZoomLevel - minimumZoomLevel)/2
center: QtPositioning.coordinate(59.91, 10.75) // Oslo
}
Component.onCompleted:{
console.log("mapReady : " + map.mapReady)
console.log("visibleRegion : " + map.visibleRegion.boundingGeoRectangle())
}
}
}
Die Ergebnisse ist:
qml: mapReady : false qml: visibleRegion : QGeoRectangle({nan, nan}, {nan, nan})
Wie diese onMapReady verwenden visibleRegion aufrufen, nachdem die Karte fertig ist?
ich dies versucht haben, ohne Erfolg:
Map.onMapReadyChanged: {
console.log("mapReady : " + map.mapReady)
console.log("visibleRegion : " + map.visibleRegion.boundingGeoRectangle())
console.log("visibleRegion.isValid : " + map.visibleRegion.isValid)
console.log("visibleRegion.isEmpty : " + map.visibleRegion.isEmpty)
}
Dank Paul onMapReadyChanged, es ist jetzt wirklich besser! – kontiki