Graphics Reference
In-Depth Information
symbol.setSize(POINT_SIZE)
symbol.setOutputUnit(QgsSymbolV2.MapUnit)
renderer = QgsSingleSymbolRendererV2(symbol)
self.startPointLayer.setRendererV2(renderer)
symbol = QgsMarkerSymbolV2.createSimple({'color' :
"red"})
symbol.setSize(POINT_SIZE)
symbol.setOutputUnit(QgsSymbolV2.MapUnit)
renderer = QgsSingleSymbolRendererV2(symbol)
self.endPointLayer.setRendererV2(renderer)
Now that we've defined the
setupRenderers()
method itself, let's modify our
main()
function to call it. Add the following line immediately after the call to
setupMapLayers()
:
window.setupRenderers()
There are a few more things we need to do to finish implementing our map renderers.
Firstly, we need to define the
createTrackSymbol()
helper method that we used to
set up the track renderer. Add the following to your
ForestTrailsWindow
class:
def createTrackSymbol(self, width, lineColor,
arrowColor,
status, direction):
symbol = QgsLineSymbolV2.createSimple({})
symbol.deleteSymbolLayer(0) # Remove default symbol
layer.
symbolLayer = QgsSimpleLineSymbolLayerV2()
symbolLayer.setWidth(width)
symbolLayer.setWidthUnit(QgsSymbolV2.MapUnit)
symbolLayer.setColor(QColor(lineColor))
if status == TRACK_STATUS_CLOSED:
symbolLayer.setPenStyle(Qt.DotLine)
symbol.appendSymbolLayer(symbolLayer)
if direction == TRACK_DIRECTION_FORWARD:
registry = QgsSymbolLayerV2Registry.instance()