Hi,
I've been working on the QgsAzimuth plugin and recently some users told me
of a limitation on the code I wrote.
The snapping is not with enough precision.
The following code is the event that I wrote that tries to use snap and if
not possible, use the captured pixel as coordinate. Is it the right way of
implementing a snap tool?
def canvasPressEvent(self,event):
pixels=event.pos()
snapper=QgsMapCanvasSnapper(self.canvas)
snapped=snapper.snapToBackgroundLayers(pixels)
if len(snapped[1])>0:
xy=snapped[1][0].afterVertex
else:
#transforming pixels to x,y
transform = self.canvas.getCoordinateTransform()
xy = transform.toMapCoordinates(pixels) #captures the clicked
coordinate and transform
self.emit(SIGNAL("finished(PyQt_PyObject)"),xy) #return QgsPoint in
a signal
Thanks in advance.
Mauricio de Paulo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/qgis-developer/attachments/20091112/133c7df5/attachment.html