gpt4 book ai didi

c++ - 如何在 QML (Qt) 中离线运行 OpenStreetMap

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:42:31 24 4
gpt4 key购买 nike

我在 Qt 上使用 QML 来显示 OpenStreetMap(使用 osm 插件),这需要互联网连接。有没有一种方法可以让我做同样的事情但离线运行它?例如,运行我自己的磁贴服务器(但这有多容易)?或者使用可以让我很快完成的库。

顺便说一句,我在 Ubuntu 上运行我的程序。

任何关于如何做到这一点的帮助,特别是如果有人可以提供要完成的步骤,我们将不胜感激。

谢谢。

最佳答案

我已经按照以下步骤在 Qt 中离线显示 OpenStreetMap(使用 QML):

  1. 在本地主机上构建/运行磁贴服务器。我使用了以下指南:https://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/
  2. 在我的 Qt map.qml 文件中,我必须在 map 插件 ( http://doc.qt.io/qt-5/location-plugin-osm.html ) 中包含以下参数:

    Plugin {
    id: osmMapPlugin
    name: "osm"

    //provide the address of the tile server to the plugin
    PluginParameter {
    name: "osm.mapping.custom.host"
    value: "http://localhost/osm/"
    }

    /*disable retrieval of the providers information from the remote repository.
    If this parameter is not set to true (as shown here), then while offline,
    network errors will be generated at run time*/
    PluginParameter {
    name: "osm.mapping.providersrepository.disabled"
    value: true
    }
    }
  3. 最后,Map QML 类型的 activeMapType 属性必须设置为 MapType.CustomMap ( http://doc.qt.io/qt-5/qml-qtlocation-maptype.html )使 map 与本地切片服务器一起工作。

关于c++ - 如何在 QML (Qt) 中离线运行 OpenStreetMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41790875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com