通过 QtLocation 插件使用离线数据

Using offline data with QtLocation plugin

我有 500mb 的离线数据,我想与 OSM QtLocation 插件一起使用。我使用了这个博客 https://www.qt.io/blog/2017/05/24/qtlocation-using-offline-map-tiles-openstreetmap-plugin 中的示例源代码。示例应用程序中的数据嵌入在资源文件中,我想将其放在磁盘上的单独文件夹中。首先,我想让示例应用程序使用位于磁盘文件夹中的示例数据,而不是在资源文件中编译。执行应用程序时,它仍会从在线服务器下载数据。我在网上阅读了很多文章,但 none 的解决方案有效。我正在使用 Qt 5.15.2,Windows 10 和 MSVC 编译器。

这就是我的代码的样子。

import QtQuick 2.7
import QtQuick.Window 2.2
import QtLocation 5.8

Window {
    id: win
    objectName: "window"
    visible: true
    width: 512
    height: 512

    Map {
        id: map
        anchors.fill: parent
        activeMapType: map.supportedMapTypes[1]
        zoomLevel: 1
        plugin: Plugin {
            id: osmPLugin
            name: 'osm';
            PluginParameter { name: 'osm.mapping.offline.directory'; value: 'file:///c:/offline_tiles/' }
        }
    }
}

您必须使用路径,而不是 uri:

PluginParameter { name: 'osm.mapping.offline.directory'; value: 'c:/offline_tiles/' }