MapCircle and MapPolyline not displaying on linuxfb

161 Views Asked by At

I have a program that draws MapCircles and MapPolylines on a QML Map using the osm plugin. The program works as expected and the shapes are drawn when using an eglfs display connected to the DSI connector on a Raspberry Pi, but the shapes are not drawn when using a linuxfb display on the SPI connector.

Everything else works perfectly fine and the map shows up properly on both devices, including MapQuickItems drawn on the map, but MapPolylines and MapCircles aren't drawn. Any idea as to what could be wrong?

On the eglfs device, the program is launched without any parameters. On the linuxfb device, the following parameters are used:

/home/pi/bin/program -platform linuxfb:fb="/dev/fb1" -plugin tslib

This is the QML code:

Map {
(...)
    MapItemGroup {
        id: myposition
        property variant coordinate: QtPositioning.coordinate(45,-73)
        property color rangeCircleColor: 'darkslategray'
        property int rangeCircleWidth: 2

// This shape shows up properly on eglfs device but not the linuxfb device

        MapCircle {
            center: myposition.coordinate
            radius: 20*1852
            border.width: myposition.rangeCircleWidth
            border.color: myposition.rangeCircleColor
        }

// This MapQuickItem works well on both devices

        MapQuickItem {
            coordinate: myposition.coordinate
            anchorPoint.x: myPosItem.width/2
            anchorPoint.y: myPosItem.height/2

            sourceItem: Item {
                Rectangle {
                    id: myPosItem
                    width: 16
                    height: width
                    radius: width/2
                    border.color: 'black'
                    border.width: 2
                    color: 'blue'
                }
            }
        }
    }
}

}

1

There are 1 best solutions below

0
On

I guess the documentation is pretty clear and the Map component requires OpenGL to work properly. At least the map plugin and custom map quick items work well, so I will simply replace my MapCircle with a Rectangle in a MapQuickItem and suppress its display if map tilt is not zero.

The Map object draws the map on-screen using OpenGL (ES), allowing for hardware-accelerated rendering where available.