我想使用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都是一条独特的路线。我怎么能实现这个目标?
我添加了多个模型及其对应的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
}
}
}
答案 0 :(得分:0)
我只是想做同样的任务,只是完成了 IT。与您的第一次尝试一样,您应该添加多个 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();
}
现在只是想知道如何在每个路线停靠点精确定位。
答案 1 :(得分:-1)
显示从查询返回的所有路由通常都是开箱即用的(假设您使用的插件为每个路由请求提供多个结果)。
如果要同时显示多个请求的路径,则每个要同时显示的请求需要一个模型/视图
我完成了指出,在您的示例中,您使用的模型角色错误。 没有这样的 routeData1 或 routeData2 ,但只有 routeData ,您应该使用此角色< / strong>每次尝试从路径模型访问路径数据时。