通过 QtLocation 插件使用离线数据

Posted

技术标签:

【中文标题】通过 QtLocation 插件使用离线数据【英文标题】:Using offline data with QtLocation plugin 【发布时间】:2021-08-06 05:24:15 【问题描述】:

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

这就是我的代码的样子。

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/' 
        
    

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于通过 QtLocation 插件使用离线数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 QML/QtLocation 模块在地图上显示大量离线数据?

QT QML QtLocation 地图插件

android gradle插件——离线安装

jvmjvisualvm 离线下载安装插件

离线安装vscode插件

如何在离线模式下使用 Cordova Geolocation 插件