我有一个使用本地网络与某些设备通信的应用程序,以及一个用于获取外部任何内容的 http 代理。我想在其中使用地图插件。现在地图需要一个 http 代理来下载图块。如果我使用 http_proxy 变量设置全局 Qt 代理设置,或者手动使用,QNetworkProxy::setApplicationProxy
则地图加载正常,但程序的其余部分会中断。如果我禁用代理,那么我可以与我的设备交谈,但我看不到地图。我已经尝试使用,如此处QQmlNetworkAccessManagerFactory
示例中所述,它适用 于view.qml中定义的类型对象, 但如果我用包含我的地图的 an 替换它,它就不起作用 。Image
Image
Item
Item{
width: 500
height: 500
Map {
Plugin {
id: mapPlugin
name: "osm"
}
anchors.fill: parent
plugin: mapPlugin
center: QtPositioning.coordinate(59.91, 10.75)
zoomLevel: 14
visible: true
}
}
该MyNetworkAccessManagerFactory::create
方法永远不会被调用,并且我收到以下错误:
QGeoTileRequestManager: Failed to fetch tile (17366,9541,15) 5 times, giving up. Last error message was: 'Error transferring http://c.tile.openstreetmap.org/15/17366/9541.png - server replied: Service Unavailable'
. 这可能是什么原因?以及如何为地图插件设置 QNetworkProxy?