QML地图调试

时间:2018-09-19 16:45:37

标签: qt qml

我对minimal_map演示进行了一些小的修改,以使其可以使用离线图块。它可以在我的桌面上完美运行,但是当我在嵌入式目标上运行它时,它只会加载空白的灰色屏幕。我假设我可能缺少嵌入式目标上的必需组件。它具有QLocaiton模块以及OSM插件。我收到的唯一错误消息是qrc:/main.qml:87:24: Unable to assign [undefined] to QDeclarativeGeoMapType*行中的activeMapType: supportedMapTypes[supportedMapTypes.length - 1]。这是因为在嵌入式目标上,supportedMapTypes.length返回0。有人可以建议一些有关调试方法的想法。仅此错误消息很难。

import QtQuick 2.0
import QtQuick.Window 2.0
import QtLocation 5.6
import QtPositioning 5.6

Window {
    width: 800
    height: 480
    visible: true

    Plugin {
        id: mapPlugin
        name: "osm"

        PluginParameter {
            name: "osm.mapping.custom.host"
            value: "file:///usr/bin/resources/maptiles/"
        }
        PluginParameter {
            name: "osm.mapping.providersrepository.disabled"
            value: true
        }
        PluginParameter {
            name: "osm.mapping.cache.directory"
            value: "/home/asdf/Documents/cache"
        }

        Component.onCompleted: {
            console.log("Plugin loaded")
        }
    }

    Map {
        anchors.fill: parent
        plugin: mapPlugin
        zoomLevel: 7
        activeMapType: supportedMapTypes[supportedMapTypes.length - 1]

        Component.onCompleted: {
            for( var i = 0; i < supportedMapTypes.length; i++) {
                console.log(supportedMapTypes[i].name)
            }

            console.log("Map loaded")
        }
    }
}

0 个答案:

没有答案