QT/QML如何在地图上运行mapReady?

QT/QML如何在地图上运行mapReady?,qt,qml,qtlocation,Qt,Qml,Qtlocation,我被困在mapReady进入QML的过程中 根据文档,建议使用此属性发出的信号代替Component.onCompleted 从这个简单的main.qml代码 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{

我被困在mapReady进入QML的过程中

根据文档,建议使用此属性发出的信号代替Component.onCompleted

从这个简单的main.qml代码

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())
        }

    }

}
结果是:

地图准备好后,如何使用onMapReady调用visibleRegion

我尝试过这一点,但没有成功:

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)
}

您不使用Map.onMapReadyChanged,但只在Map元素内部使用onMapReadyChanged

谢谢Paul,现在好多了!
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)
}