0

我在玩 KDE 的 Kirigami,想开发一个包含地图的应用程序。我使用 KDevelop 在最新的 OpenSUSE Tumbleweed 上进行开发。我从最初的“新项目”Kirigami 模板开始,并将基于 QtLocation 5.15 的地图元素添加到main.qml. 最后,我很想使用自定义磁贴服务器。但是,但是,使用该osm插件,它会在加载一两个图块而没有任何消息(在调试器和 CLI 中)后崩溃。但是,该mapboxgl插件确实有效。该osm插件与默认或自定义磁贴服务器崩溃。

Kirigami.pageinmain.qml看起来像这样,我检查了不同的配置。

import QtQuick 2.6
import QtQuick.Controls 2.0 as Controls
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.13 as Kirigami

import QtPositioning 5.15
import QtLocation 5.15

    Kirigami.Page {
        id: page

        Layout.fillWidth: true

        title: i18n("Main Page")

        
        // working plugin
        Plugin {
            id: mapPlugin
            name: "mapboxgl" 
        }
        
        // plugin crashes
        Plugin {
          id: mapPluginOsm
          name: "osm" 
          PluginParameter {
              name: "osm.mapping.providersrepository.address"
              value: "http://maps-redirect.qt.io/"
          }
        }
        
        // plugin crashes
        Plugin {
          id: mapPluginOsm2
          name: "osm"
          PluginParameter {
            name: "osm.mapping.providersrepository.disabled"
            value: "true"
          }
          PluginParameter {
            name: "osm.mapping.providersrepository.address"
            value: "https://maps-redirect.qt.io/"
          }
        }

        // plugin crashes
        Plugin {
          id: mapPluginOsm3
          name: "osm"
          PluginParameter {
            name: "osm.mapping.providersrepository.disabled"
            value: "true"
          }
          PluginParameter {
            name: "osm.mapping.providersrepository.address"
            value: "https://maps-redirect.qt.io/"
          }
        }
        
        // plugin crashes
        Plugin {
          id: mapPluginOsm4
          name: "osm"
        }
        
        // plugin crashes
        Plugin {
          id: mapPluginOwnTiles
          name: "osm"
          PluginParameter {
              name: "osm.mapping.custom.host"
              value: "own tile servers URI, working with leaflet"
          }
          PluginParameter {
              name: "osm.mapping.providersrepository.disabled"
              value: true
          }
        }
    
            

    
        Map {
            anchors.fill: parent
            plugin: mapPluginOsm
            center: QtPositioning.coordinate(52.52, 10.40)
            zoomLevel: 10
            activeMapType: supportedMapTypes[supportedMapTypes.length - 1]
        }
    }

这是 Kirigami、QtLocation 或其他什么的错误用法吗?由于调试器根本没有显示任何挂起的原因,我真的不知道如何调试。如果我只运行二进制文件,它也会挂起。如果我从 CLI 运行二进制文件,我会收到一个关于 deprecated 的警告Units.devicePixelRatio,但工作mapboxgl插件也是如此,所以它似乎没有连接。

4

0 回答 0