如何在Mapobject中使用MapCircel?

时间:2018-12-28 21:58:53

标签: qt dictionary qml

我想问一下,如何在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对象一起使用的方法?也许是指针或类似的想法?也许我可以创建自己的对象/属性?

1 个答案:

答案 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来找到它。