Septima / qgis-geosearch

QGIS plugin with a search box which enables the user to quickly zoom to named places in Denmark
GNU General Public License v3.0
9 stars 7 forks source link

har pillet ved QgsVertexMarker (quick n dirty) #27

Closed JosefAssad closed 5 years ago

JosefAssad commented 7 years ago

I princippet var det en del bedre med et ekstra faneblad i settings dialogboksen hvor brugeren selv kan vælge hvordan vertex markøren skal se ud, men havde kun frokostpause til at pille ved denne kodebase som jeg egentlig ikke kender. :)

Baggrund: https://github.com/Septima/qgis-geosearch/issues/19

AsgerPetersen commented 7 years ago

Hej @JosefAssad

Tusind tak! Du har fuldstændig ret i, at det ville give god mening, at brugeren selv kan stille på markeringen. Hvis du har tid og lyst til at give det et skud, er det cool.

Som du sikkert har set, har jeg bedt dem, der har behovet om at tage stilling til dit PR ovre i #19

JosefAssad commented 7 years ago

Har set Mies mockup, very nice!

Jeg lavede en quick and dirty for at have en rigtig hurtig løsning, Hvis der skal laves noget smartere så overlader jeg det til smartere folk, i.e. jer. :)

baffioso commented 7 years ago

Tror jeg fandt frem til @JosefAssad branch, men fik følgende fejl i QGIS

2016-09-08T10:30:32 1   Traceback (most recent call last):
              File "C:/Users/andb/.qgis2/python/plugins\geosearch_dk\searchbox.py", line 276, in doSearch
                self.setMarkerGeom(geom)
              File "C:/Users/andb/.qgis2/python/plugins\geosearch_dk\searchbox.py", line 198, in setMarkerGeom
                self._setMarkerGeom(geom)
              File "C:/Users/andb/.qgis2/python/plugins\geosearch_dk\searchbox.py", line 211, in _setMarkerGeom
                m.setIconType(QgsVertexMarker.ICON_CROSS)
            AttributeError: 'QgsRubberBand' object has no attribute 'setIconType'       

Er der andre som har testet?

JosefAssad commented 7 years ago

@baffioso jeg gætter du har forkert indent på de 3 nye linjer. Jeg tror du har implementeret noget i retningen af:

def _setMarkerGeom(self, geom):
        if geom.isMultipart():
            geometries = self._extractAsSingle(geom)
            for g in geometries:
                self._setMarkerGeom(g)
        else:
            if geom.wkbType() == QGis.WKBPoint:
                m = self._setPointMarker(geom)
            elif geom.wkbType() in (QGis.WKBLineString, QGis.WKBPolygon):
                m = self._setRubberBandMarker(geom)
                m.setIconType(QgsVertexMarker.ICON_CROSS)
                m.setPenWidth(3)
                m.setIconSize(30)
                self.markers.append( m )

Men patchen siger

def _setMarkerGeom(self, geom):
        if geom.isMultipart():
            geometries = self._extractAsSingle(geom)
            for g in geometries:
                self._setMarkerGeom(g)
        else:
            if geom.wkbType() == QGis.WKBPoint:
                m = self._setPointMarker(geom)
            elif geom.wkbType() in (QGis.WKBLineString, QGis.WKBPolygon):
                m = self._setRubberBandMarker(geom)
            m.setIconType(QgsVertexMarker.ICON_CROSS) # <-- SEE INDENT
            m.setPenWidth(3) # <-- SEE INDENT
            m.setIconSize(30) # <-- SEE INDENT
            self.markers.append( m ) # <-- SEE INDENT

Her ser det sådan her ud:

marker

baffioso commented 7 years ago

Har fået det til at virke med adressesøgning uden fejlmeddelelse, men hvis jeg efterfølgende søger en vej (uden husnr) får jeg samme fejl som angivet ovenfor og kortet ser mærkeligt ud. Jeg kan heller ikke længere slette bounding box for veje, når jeg trykker på: image

Se video her

baffioso commented 7 years ago

Har nu testet efter dette seneste commit og det ser ud til at spille.

AsgerPetersen commented 5 years ago

Forårsrengøring!

Dette PR er tudsegammelt, og funktionaliteten er kommet ind i pluginet.

Derfor lukker jeg.