#qt #openstreetmap #offline #qtlocation
Вопрос:
У меня есть 500 МБ автономных данных, которые я хотел бы использовать с плагином OSM QtLocation. Я использовал пример исходного кода из этого блога https://www.qt.io/blog/2017/05/24/qtlocation-using-offline-map-tiles-openstreetmap-plugin. Данные в примере приложения встроены в файл ресурсов, я хотел бы поместить их в отдельную папку на диске. Для начала я хотел бы, чтобы пример приложения работал с образцами данных, расположенными в папке на диске, а не скомпилированными в файлах ресурсов. При запуске приложения оно по-прежнему загружает данные с онлайн-сервера. Я прочитал много статей в Интернете, но ни одно из решений не работает. Я использую 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/' }
}
}
}
Ответ №1:
Вы должны использовать путь, а не uri:
PluginParameter { name: 'osm.mapping.offline.directory'; value: 'c:/offline_tiles/' }