我目前正在创建一个能够显示地图的应用程序。在添加更多高级功能之前,我想简单地在应用程序中显示某个区域的地图。为此,我使用了 Qt 示例“Minimal map”中的一些修改代码。map.qml 文件中的代码:
import QtQuick 2.0
import QtLocation 5.6
import QtPositioning 5.6
Rectangle {
Plugin {
id: mapPlugin
name: "osm" // "mapboxgl", "esri", ...
// specify plugin parameters if necessary
// PluginParameter {
// name:
// value:
// }
}
Map {
anchors.fill: parent
plugin: mapPlugin
center: QtPositioning.coordinate(59.91, 10.75) // Oslo
zoomLevel: 14
}
}
我使用 QQuickWidget 显示地图,并将源设置为我的 QML 文件。不幸的是,地图没有显示。QuickWidget 中仅显示灰色背景和题词(我在帖子中附上了图片)。在 QML 调试器控制台中,我收到了以下消息:
“QObject::connect(QQuickWindow,QDeclarativeGeoMap):无效的 nullptr 参数”
“QGeoTileProviderOsm:Tileserver 在 QUrl 处禁用(“http://maps-redirect.qt.io/osm/5.8/satellite”)
“QGeoTileFetcherOsm:所有提供者都已解决”
“QSslSocket::connectToHostEncrypted:TLS 初始化失败”
“QGeoTileRequestManager: 5次获取瓦片失败(8682,4766,14),放弃。最后的错误讯息是:'TLS初始化失败'”