为什么QDeLocationativeGeoMap :: visibleRegion在QtLocation Map中不可显示?

时间:2018-11-21 13:07:46

标签: qt qml qtlocation

我正在使用QtLocation QML地图在地图上显示大量项目。由于在地图上可见的项目数量会降低性能,因此我想将仅在视口上实际可见的项目设置为可见。为此,仅根据项目的坐标是否在视口内来计算可见性是很方便的,例如:

visible: mapBase.visibleRegion.contains(model.item.coordinate)

但是不幸的是,如http://doc.qt.io/qt-5/qml-qtlocation-map.html#visibleRegion-prop文档中所述,visibleRegion属性是不可更改的。

是否有任何特定原因(例如性能问题)不为此属性实现通知信号?有什么方法可以解决此问题,并根据地图项是否在视口内来设置其可见性?

1 个答案:

答案 0 :(得分:0)

我认为原因可能是计算成本很高。 但是,当以下属性之一更改时,visibleRegion也会更改:zoomLevel,center,bearing,tilt,fieldOfView。例如,您可以定义自己的“ property var visRegion”,并在对上述这些属性做出反应时通过获取visibleRegion并将其分配给visRegion来对其进行更新。