在QML中使用脱机交互式地图

Gré*_*rel 9 qt dictionary openstreetmap qml

我想以一个文件的形式从OpenStreetMap中注入一大块地图osm.

根据我在文档中看到的内容,Open Street Map Plugin似乎没有任何参数将源文件作为地图.它只适用于服务器.问题是我在运行我的应用程序时没有Internet连接.我需要在内部使用地图.

同样适用于MapboxHERE插件.

有没有其他方法可以做到这一点?

以下是创建Map的样板:

Plugin {
    id: somePlugin
    // code here to choose the plugin as necessary
}

Map {
    id: map

    plugin: somePlugin

    center {
        latitude: -27
        longitude: 153
    }
    zoomLevel: map.minimumZoomLevel

    gesture.enabled: true
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ino 5

2017年4月更新: QtLocation现在支持离线OSM磁贴.见http://doc.qt.io/qt-5/location-plugin-osm.html

如您所知,QtLocation目前不提供离线选项.此外,对于底图,它目前仅支持图像切片(而不是您正在讨论的XML矢量OSM数据).

你有几个选择:

在QML中:您可以使用ArcGIS Runtime SDK for Qt.从版本10.26开始,它支持使用离线切片添加自定义地图图层.您需要首先获取OSM数据的PNG/JPG图块.以下是支持OSM slippymap切片的示例图层.

在C++中:您将找到一些选项来显示可能需要或不需要从OSM格式转换的矢量数据,以及您身边的更多工作:

另外,不要忘记在Qt Bugtracker中投票支持上述问题!