QGIS API Documentation  3.21.0-Master (5b68dc587e)
qgsgeocoder.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsgeocoder.h
3  ---------------
4  Date : August 2020
5  Copyright : (C) 2020 by Nyall Dawson
6  Email : nyall dot dawson at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSGEOCODER_H
17 #define QGSGEOCODER_H
18 
19 #include "qgis_core.h"
20 #include "qgsgeocoderresult.h"
21 #include "qgsgeometry.h"
22 #include "qgsfields.h"
23 
24 class QgsFeature;
25 class QgsGeocoderContext;
26 
36 class CORE_EXPORT QgsGeocoderInterface
37 {
38 
39  public:
40 
42  enum class Flag
43  {
44  GeocodesStrings = 1 << 0,
45  GeocodesFeatures = 1 << 1,
46  };
47  Q_DECLARE_FLAGS( Flags, Flag )
48 
49  virtual ~QgsGeocoderInterface() = default;
50 
54  virtual Flags flags() const = 0;
55 
63  virtual QList< QgsGeocoderResult > geocodeFeature( const QgsFeature &feature, const QgsGeocoderContext &context, QgsFeedback *feedback = nullptr ) const;
64 
72  virtual QgsFields appendedFields() const;
73 
81  virtual QgsWkbTypes::Type wkbType() const;
82 
90  virtual QList< QgsGeocoderResult > geocodeString( const QString &string, const QgsGeocoderContext &context, QgsFeedback *feedback = nullptr ) const;
91 
92 };
93 
94 #endif // QGSGEOCODER_H
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition: qgsfeature.h:56
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition: qgsfeedback.h:45
Container of fields for a vector layer.
Definition: qgsfields.h:45
Encapsulates the context of a geocoding operation.
Interface for geocoders.
Definition: qgsgeocoder.h:37
Flag
Capability flags for the geocoder.
Definition: qgsgeocoder.h:43
Represents a matching result from a geocoder search.
Handles storage of information regarding WKB types and their properties.
Definition: qgswkbtypes.h:42