我想使用Qt位置属性在地图上显示路线列表,我可以显示一条路线,但我不知道如何显示多条路线。下面是我的代码:
RouteModel {
id: routeModel
plugin: somePlugin
query: RouteQuery {}
Component.onCompleted: {
query.addWaypoint(QtPositioning.coordinate(26.328045523310905, 50.080033033011546));
query.addWaypoint(QtPositioning.coordinate(26.333615791655415, 50.097984054173025));
routeModel.update();
query.addWaypoint(QtPositioning.coordinate(26.291584, 50.199094));
query.addWaypoint(QtPositioning.coordinate(26.288128, 50.188725));
routeModel.update();
}
onStatusChanged: console.debug("current route model status", status, count, errorString)
}我希望每一对addWayPoints都是一条不同的路线。canI如何做到这一点?
我用对应的mapitemview添加了多个模型,但仍然不起作用。
RouteModel {
id: routeModel
plugin: somePlugin
query: RouteQuery {}
Component.onCompleted: {
query.addWaypoint(QtPositioning.coordinate(26.328045523310905, 50.080033033011546));
query.addWaypoint(QtPositioning.coordinate(26.333615791655415, 50.097984054173025));
routeModel.update();
}
}
RouteModel {
id: rm
plugin: somePlugin
query: RouteQuery {}
Component.onCompleted: {
query.addWaypoint(QtPositioning.coordinate(26.291584, 50.199094));
query.addWaypoint(QtPositioning.coordinate(26.288128, 50.188725));
rm.update();
}
}
RouteModel {
id: rm1
plugin: somePlugin
query: RouteQuery {}
Component.onCompleted: {
query.addWaypoint(QtPositioning.coordinate(26.278496, 50.203740));
query.addWaypoint(QtPositioning.coordinate(26.272351, 50.185939));
rm.update();
}
}
Map {
id: map
anchors.fill: parent
plugin: somePlugin
center: magione
gesture.enabled: true
zoomLevel: 13
MapItemView {
model: routeModel
delegate: MapRoute {
route: routeData
line.color: "blue"
line.width: 5
smooth: true
}
}
MapItemView {
model: rm
delegate: MapRoute {
route: routeData1
line.color: "green"
line.width: 5
smooth: true
}
}
MapItemView {
model: rm2
delegate: MapRoute {
route: routeData2
line.color: "black"
line.width: 5
smooth: true
}
}
}发布于 2021-02-21 04:50:36
我只是试着做同样的任务,只是完成了它。与第一次尝试一样,您应该添加多个addWayPoints,但在最后只更新一次模型。以下是访问以下位置A->B->C->A的路由示例
Component.onCompleted:
{
query.addWaypoint(QtPositioning.coordinate(-25.402340, -49.248682));
query.addWaypoint(QtPositioning.coordinate(-25.392142, -49.202556));
query.addWaypoint(QtPositioning.coordinate(-25.372512, -49.227785));
query.addWaypoint(QtPositioning.coordinate(-25.402340, -49.248682));
routeModel.update();
}结果:多个路由:

现在我只是想知道如何在每个路线停靠点获得精确的位置。
发布于 2018-05-06 16:52:43
显示从查询返回的所有路由通常是开箱即用的(假设您正在使用的插件为每个路由请求提供多个结果)。
如果要同时显示多个请求的路由,则需要为每个要同时显示的请求创建一个模型/视图
我最后指出,在您的示例中,您错误地使用了模型角色。没有这样的routeData1或routeData2,只有 routeData,您应该在每次尝试从路由模型访问路由数据时使用此角色。
https://stackoverflow.com/questions/49943303
复制相似问题