У меня есть приложение, которое использует локальную сеть для связи с некоторыми устройствами и http-прокси для получения чего-либо внешнего. Я хотел бы использовать в нем плагин карты. Теперь карте потребуется HTTP-прокси для загрузки тайлов. Если я установлю глобальные настройки прокси-сервера Qt, используя переменную http_proxy, или сделаю это вручную, используя QNetworkProxy::setApplicationProxy
, то карта загружается нормально, но остальная часть программы ломается. Если я отключу прокси, то смогу общаться со своими устройствами, но не вижу карту. Я пробовал использовать QQmlNetworkAccessManagerFactory
, как описано в примере здесь, и он отлично работает для объекта типа Image
, как определено в view.qml, но это не сработает, если я заменю 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 для плагина карты?