Почему QDeclarativeGeoMap :: visibleRegion не является NOTIFYable в QtLocation Map? - PullRequest
0 голосов
/ 21 ноября 2018

Я использую QtLocation QML Map для отображения большого количества элементов на карте.Так как с количеством элементов, видимых на карте, производительность снижается, я хотел бы сделать видимыми только элементы, фактически видимые в области просмотра.Для этого было бы удобно просто рассчитать видимость на основе того, находится ли координата элемента в области просмотра, например:

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

Но, к сожалению, свойство visibleRegion не NOTIFYable, как указано в документации на http://doc.qt.io/qt-5/qml-qtlocation-map.html#visibleRegion-prop.

Есть ли какая-либо конкретная причина (например, проблемы с производительностью), чтобы не реализовывать сигнал уведомления для этого свойства?Есть ли способ обойти это, и установить видимость элемента карты в зависимости от того, находится ли он в области просмотра?

1 Ответ

0 голосов
/ 29 ноября 2018

Я полагаю, причина может быть в том, что это дорого вычислять.Но visibleRegion изменяется при изменении одного из следующих свойств: zoomLevel, center, подшипник, наклон, fieldOfView.Например, вы можете определить свое собственное «свойство var visRegion» и обновить его, реагируя на эти свойства выше, выбрав visibleRegion и назначив его для visRegion.

...