首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT QML QtLocation地图插件

QT QML QtLocation地图插件
EN

Stack Overflow用户
提问于 2017-02-23 05:35:46
回答 3查看 3.7K关注 0票数 5

我有自己的本地Z/X/Y地图瓦片服务器,并希望将其用作QML应用程序中的地图背景。查看示例代码,这似乎是通过以下方式完成的:

代码语言:javascript
复制
 Plugin {
    id: osmPlugin
    name: "osm"
 }

所以我需要写我自己的插件。但是文档似乎很少,而且我找不到osm版本的源代码或安装说明。

这是相对容易的吗,或者不需要编写一个新的插件就可以做到?

EN

回答 3

Stack Overflow用户

发布于 2017-02-24 22:55:36

您可以像这样设置osm.mapping.host:

代码语言:javascript
复制
    Plugin {
        id: osmPlugin
        name: "osm"


        PluginParameter { name: "osm.mapping.host"; value: "https://tile.openstreetmap.org/" }
        PluginParameter { name: "osm.geocoding.host"; value: "https://nominatim.openstreetmap.org" }
        PluginParameter { name: "osm.routing.host"; value: "https://router.project-osrm.org/viaroute" }
        PluginParameter { name: "osm.places.host"; value: "https://nominatim.openstreetmap.org/search" }
        PluginParameter { name: "osm.mapping.copyright"; value: "" }
        PluginParameter { name: "osm.mapping.highdpi_tiles"; value: true }
    }

但不要忘记使用以下代码设置自定义映射类型:

代码语言:javascript
复制
    Map {
        id: map
        height: parent.width
        width: parent.width
        plugin: osmPlugin

        Component.onCompleted: {
            for( var i_type in supportedMapTypes ) {
                if( supportedMapTypes[i_type].name.localeCompare( "Custom URL Map" ) === 0 ) {
                    activeMapType = supportedMapTypes[i_type]
                }
            }
        }
    }
票数 4
EN

Stack Overflow用户

发布于 2017-02-23 16:18:45

如果文档没有涵盖某些内容或不够详细,最好记住Qt's source是公开提供的。

例如,OSM插件是here

如果您知道要looking for的类或文件的名称,那么使用Woboq code browser也非常好

票数 1
EN

Stack Overflow用户

发布于 2017-02-24 04:39:16

好了,我已经找到了一种不用编写插件就能做到这一点的方法。

OSM插件使用tileserver来检索tiles。url是使用插件选项osm.mapping.custom.host设置的,将其设置为本地url允许我使用自己的磁贴,只要它们符合osm结构。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42402732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档