我想问一下,如何在Map {}对象之外使用MapCircel。我想编写一个函数,该函数将给出一种方式,并且我认为我可以做这样的事情:
function putWay (way)
{
for (var i = 0; i < getLatitude.count - 1; i++ )
{
way.center {
longtitude: getLongtitude.get(i).longtitude
latitude: getLatitude.get(i).latitude
}
}
}
方法= MapCircel
getLatitude = listView,我在数据库中的数据(纬度)在哪里
getLongtitude,与经度相同
并且方式将是MapCircel ID,但是它不起作用。我认为是因为将Map属性与Map对象一起使用,但是也许是一种将Map属性与Map对象一起使用的方法?也许是指针或类似的想法?也许我可以创建自己的对象/属性?
答案 0 :(得分:1)
如果是单个项目,则解决方法如下:
way.center = QtPositioning.coordinate(getLongtitude.get(i).latitude, getLatitude.get(i).longtitude)
但是在您的情况下,这并不理想,因为点数是可变的。
当数据量可变时,最好使用模型,我看到您想使用LocalStorage,但不幸的是,它不允许按路径读取sqlite,因此在这种情况下,您必须实现模型,并在previous answer中实施。
然后,您必须使用MapItemView并将其作为委托传递给MapCircle。
SqlQueryModel{
id: querymodel
query: "select * from coordinates"
}
// ...
Map {
// ...
MapItemView{
model: querymodel
delegate: MapCircle {
center: QtPositioning.coordinate(latitude, longitude)
radius: 1.0
color: 'blue'
border.width: 1
}
}
以上是必不可少的,但我也可以自由地改进您的代码,以便您可以here来找到它。