Qml 地图插件显示没有服务提供商

Qml 地图插件显示没有服务提供商,qml,qtquick2,qtlocation,qtpositioning,Qml,Qtquick2,Qtlocation,Qtpositioning,我正试图在QML5.7中渲染一个空的贴图,以便绘制地理定位的多段线。但是,没有提供地图数据的插件: Map{ 锚。填充:父 插件:插件{ 名称:“osm” Component.onCompleted:console.log('a',availableServiceProviders.length) } 地图多段线{ line.color:#299FE7”线宽:3 路径:parent.points } 计时器{ 运行:真;间隔:1000 onTriggered:console.log('b',pa

我正试图在QML5.7中渲染一个空的
贴图
,以便绘制地理定位的多段线。但是,没有提供地图数据的插件:

Map{
锚。填充:父
插件:插件{
名称:“osm”
Component.onCompleted:console.log('a',availableServiceProviders.length)
}
地图多段线{
line.color:#299FE7”线宽:3
路径:parent.points
}
计时器{
运行:真;间隔:1000
onTriggered:console.log('b',parent.supportedMapTypes.length)
}
}
上述产出:

qml: a  0
qml: b  0

为什么我没有任何可用的插件,我如何才能让它工作?

您没有默认的提供程序,因为Qt没有强制使用特定的提供程序。现在,所有可用的服务都需要注册(并接受协议/ToS)才能使用它们的服务,这一点更为重要

可以找到可用插件的列表。 通过这些链接,您可以了解每一种用法的具体设置

在QML中添加提供程序只是声明一个类型的问题,大致如下:

Plugin {
    name: <provider_name> // { "here" | "mapbox" | "osm" }
    PluginParameter { name: <param_name>; value: <param_value> }
    // other parameters
}
插件{
名称://{“此处”|“映射框”|“osm”}
PluginParameter{name:;value:}
//其他参数
}
同样的任务也可以通过类在C++/非QML项目中执行


请注意,几个月前访问MapQuest,打破了开放街道地图插件。您现在需要凭据才能访问他们的服务,例如读取。相关补丁已被推送和合并,如上次链接注释的错误报告页面所述,并将在Qt 5.6.2(和Qt 5.7.1)补丁版本中提供。

您没有默认的提供程序,因为Qt没有强制使用特定的提供程序。现在,所有可用的服务都需要注册(并接受协议/ToS)才能使用它们的服务,这一点更为重要

可以找到可用插件的列表。 通过这些链接,您可以了解每一种用法的具体设置

在QML中添加提供程序只是声明一个类型的问题,大致如下:

Plugin {
    name: <provider_name> // { "here" | "mapbox" | "osm" }
    PluginParameter { name: <param_name>; value: <param_value> }
    // other parameters
}
插件{
名称://{“此处”|“映射框”|“osm”}
PluginParameter{name:;value:}
//其他参数
}
同样的任务也可以通过类在C++/非QML项目中执行

请注意,几个月前访问MapQuest,打破了开放街道地图插件。您现在需要凭据才能访问他们的服务,例如读取。相关补丁已被推送和合并,如上次链接评论的bug报告页面所述,并将在Qt5.6.2(和Qt5.7.1)补丁版本中提供