Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QGeoCodingManagerEngine Class Reference

\inmodule QtLocation More...

#include <qgeocodingmanagerengine.h>

+ Inheritance diagram for QGeoCodingManagerEngine:
+ Collaboration diagram for QGeoCodingManagerEngine:

Signals

void finished (QGeoCodeReply *reply)
 
void errorOccurred (QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString=QString())
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QGeoCodingManagerEngine (const QVariantMap &parameters, QObject *parent=nullptr)
 Constructs a new engine with the specified parent, using parameters to pass any implementation specific data to the engine.
 
virtual ~QGeoCodingManagerEngine ()
 Destroys this engine.
 
QString managerName () const
 Returns the name which this engine implementation uses to distinguish itself from the implementations provided by other plugins.
 
int managerVersion () const
 Returns the version of this engine implementation.
 
virtual QGeoCodeReplygeocode (const QGeoAddress &address, const QGeoShape &bounds)
 Begins the geocoding of address.
 
virtual QGeoCodeReplygeocode (const QString &address, int limit, int offset, const QGeoShape &bounds)
 Begins geocoding for a location matching address.
 
virtual QGeoCodeReplyreverseGeocode (const QGeoCoordinate &coordinate, const QGeoShape &bounds)
 Begins the reverse geocoding of coordinate.
 
void setLocale (const QLocale &locale)
 Sets the locale to be used by this manager to locale.
 
QLocale locale () const
 Returns the locale used to hint to this geocoding manager about what language to use for the results.
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Friends

class QGeoServiceProvider
 
class QGeoServiceProviderPrivate
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Detailed Description

\inmodule QtLocation

Since
5.6

The QGeoCodingManagerEngine class provides an interface and convenience methods to implementers of QGeoServiceProvider plugins who want to provide support for geocoding operations.

Note
There are no source or binary compatibility guarantees for the backend classes. The API is only guaranteed to work with the Qt version it was developed against. API changes will however only be made in minor releases. (6.6, 6.7, and so on.)

In the default implementation, supportsGeocoding() and supportsReverseGeocoding() returns false while geocode() and reverseGeocode() cause QGeoCodeReply::UnsupportedOptionError to occur.

If the service provider supports geocoding the subclass should provide an implementation of geocode() and call setSupportsGeocoding(true) at some point in time before geocode() is called.

Similarly, if the service provider supports reverse geocoding the subclass should provide an implementation reverseGeocode() and call setSupportsReverseGeocoding(true) at some point in time before reverseGeocode() is called.

A subclass of QGeoCodingManagerEngine will often make use of a subclass fo QGeoCodeReply internally, in order to add any engine-specific data (such as a QNetworkReply object for network-based services) to the QGeoCodeReply instances used by the engine.

See also
QGeoCodingManager

Definition at line 18 of file qgeocodingmanagerengine.h.

Constructor & Destructor Documentation

◆ QGeoCodingManagerEngine()

QGeoCodingManagerEngine::QGeoCodingManagerEngine ( const QVariantMap & parameters,
QObject * parent = nullptr )
explicit

Constructs a new engine with the specified parent, using parameters to pass any implementation specific data to the engine.

Definition at line 54 of file qgeocodingmanagerengine.cpp.

References Q_UNUSED.

◆ ~QGeoCodingManagerEngine()

QGeoCodingManagerEngine::~QGeoCodingManagerEngine ( )
virtual

Destroys this engine.

Definition at line 64 of file qgeocodingmanagerengine.cpp.

Member Function Documentation

◆ errorOccurred

void QGeoCodingManagerEngine::errorOccurred ( QGeoCodeReply * reply,
QGeoCodeReply::Error error,
const QString & errorString = QString() )
signal
This signal is emitted when an error has been detected in the processing of
\a reply. The QGeoCodingManagerEngine::finished() signal will probably follow.

The error will be described by the error code \a error. If \a errorString is
not empty it will contain a textual description of the error.

This signal and QGeoCodeReply::errorOccurred() will be emitted at the same time.

\note Do not delete the \a reply object in the slot connected to this
signal. Use deleteLater() instead.

◆ finished

void QGeoCodingManagerEngine::finished ( QGeoCodeReply * reply)
signal
This signal is emitted when \a reply has finished processing.

If reply::error() equals QGeoCodeReply::NoError then the processing
finished successfully.

This signal and QGeoCodeReply::finished() will be emitted at the same
time.

\note Do not delete the \a reply object in the slot connected to this
signal. Use deleteLater() instead.

◆ geocode() [1/2]

QGeoCodeReply * QGeoCodingManagerEngine::geocode ( const QGeoAddress & address,
const QGeoShape & bounds )
virtual

Begins the geocoding of address.

Geocoding is the process of finding a coordinate that corresponds to a given address.

A QGeoCodeReply object will be returned, which can be used to manage the geocoding operation and to return the results of the operation.

This engine and the returned QGeoCodeReply object will emit signals indicating if the operation completes or if errors occur.

If supportsGeocoding() returns false an QGeoCodeReply::UnsupportedOptionError will occur.

Once the operation has completed, QGeoCodeReply::locations() can be used to retrieve the results, which will consist of a list of QGeoLocation objects. These objects represent a combination of coordinate and address data.

The address data returned in the results may be different from address. This will usually occur if the geocoding service backend uses a different canonical form of addresses or if address was only partially filled out.

If bounds is non-null and a valid QGeoShape it will be used to limit the results to those that are contained by bounds. This is particularly useful if address is only partially filled out, as the service will attempt to geocode all matches for the specified data.

The user is responsible for deleting the returned reply object, although this can be done in the slot connected to QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() or QGeoCodeReply::errorOccurred() with deleteLater().

Reimplemented in GeoCodingManagerEngineEsri, QGeoCodingManagerEngineMapbox, QGeoCodingManagerEngineNokia, and QGeoCodingManagerEngineOsm.

Definition at line 146 of file qgeocodingmanagerengine.cpp.

References Q_UNUSED, and QGeoCodeReply::UnsupportedOptionError.

◆ geocode() [2/2]

QGeoCodeReply * QGeoCodingManagerEngine::geocode ( const QString & address,
int limit,
int offset,
const QGeoShape & bounds )
virtual

Begins geocoding for a location matching address.

A QGeoCodeReply object will be returned, which can be used to manage the geocoding operation and to return the results of the operation.

This engine and the returned QGeoCodeReply object will emit signals indicating if the operation completes or if errors occur.

Once the operation has completed, QGeoCodeReply::locations() can be used to retrieve the results, which will consist of a list of QGeoLocation objects. These objects represent a combination of coordinate and address data.

If limit is -1 the entire result set will be returned, otherwise at most limit results will be returned.

The offset parameter is used to ask the geocoding service to not return the first offset results.

The limit and offset results are used together to implement paging.

If bounds is non-null and a valid QGeoShape it will be used to limit the results to those that are contained by bounds.

The user is responsible for deleting the returned reply object, although this can be done in the slot connected to QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() or QGeoCodeReply::errorOccurred() with deleteLater().

Reimplemented in GeoCodingManagerEngineEsri, QGeoCodingManagerEngineMapbox, QGeoCodingManagerEngineOsm, and QGeoCodingManagerEngineNokia.

Definition at line 229 of file qgeocodingmanagerengine.cpp.

References Q_UNUSED, and QGeoCodeReply::UnsupportedOptionError.

◆ locale()

QLocale QGeoCodingManagerEngine::locale ( ) const

Returns the locale used to hint to this geocoding manager about what language to use for the results.

Definition at line 260 of file qgeocodingmanagerengine.cpp.

References QGeoCodingManagerEnginePrivate::locale.

Referenced by QGeoCodingManagerEngineNokia::geocode(), QGeoCodingManagerEngineOsm::geocode(), QGeoCodingManagerEngineNokia::geocode(), GeoCodingManagerEngineEsri::reverseGeocode(), QGeoCodingManagerEngineNokia::reverseGeocode(), QGeoCodingManagerEngineOsm::reverseGeocode(), and setLocale().

+ Here is the caller graph for this function:

◆ managerName()

QString QGeoCodingManagerEngine::managerName ( ) const

Returns the name which this engine implementation uses to distinguish itself from the implementations provided by other plugins.

The combination of managerName() and managerVersion() should be unique amongst plugin implementations.

Definition at line 88 of file qgeocodingmanagerengine.cpp.

References QGeoCodingManagerEnginePrivate::managerName.

◆ managerVersion()

int QGeoCodingManagerEngine::managerVersion ( ) const

Returns the version of this engine implementation.

The combination of managerName() and managerVersion() should be unique amongst plugin implementations.

Definition at line 110 of file qgeocodingmanagerengine.cpp.

References QGeoCodingManagerEnginePrivate::managerVersion.

◆ reverseGeocode()

QGeoCodeReply * QGeoCodingManagerEngine::reverseGeocode ( const QGeoCoordinate & coordinate,
const QGeoShape & bounds )
virtual

Begins the reverse geocoding of coordinate.

Reverse geocoding is the process of finding an address that corresponds to a given coordinate.

A QGeoCodeReply object will be returned, which can be used to manage the reverse geocoding operation and to return the results of the operation.

This engine and the returned QGeoCodeReply object will emit signals indicating if the operation completes or if errors occur.

If supportsReverseGeocoding() returns false an QGeoCodeReply::UnsupportedOptionError will occur.

At that point QGeoCodeReply::locations() can be used to retrieve the results, which will consist of a list of QGeoLocation objects. These objects represent a combination of coordinate and address data.

The coordinate data returned in the results may be different from coordinate. This will usually occur if the reverse geocoding service backend shifts the coordinates to be closer to the matching addresses, or if the backend returns results at multiple levels of detail.

If multiple results are returned by the reverse geocoding service backend they will be provided in order of specificity. This normally occurs if the backend is configured to reverse geocode across multiple levels of detail. As an example, some services will return address and coordinate pairs for the street address, the city, the state and the country.

If bounds is non-null and a valid QGeoShape it will be used to limit the results to those that are contained by bounds.

The user is responsible for deleting the returned reply object, although this can be done in the slot connected to QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() or QGeoCodeReply::errorOccurred() with deleteLater().

Reimplemented in GeoCodingManagerEngineEsri, QGeoCodingManagerEngineMapbox, QGeoCodingManagerEngineNokia, and QGeoCodingManagerEngineOsm.

Definition at line 191 of file qgeocodingmanagerengine.cpp.

References Q_UNUSED, and QGeoCodeReply::UnsupportedOptionError.

◆ setLocale()

void QGeoCodingManagerEngine::setLocale ( const QLocale & locale)

Sets the locale to be used by this manager to locale.

If this geocoding manager supports returning the results in different languages, they will be returned in the language of locale.

The locale used defaults to the system locale if this is not set.

Definition at line 251 of file qgeocodingmanagerengine.cpp.

References locale(), and QGeoCodingManagerEnginePrivate::locale.

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ QGeoServiceProvider

friend class QGeoServiceProvider
friend

Definition at line 52 of file qgeocodingmanagerengine.h.

◆ QGeoServiceProviderPrivate

friend class QGeoServiceProviderPrivate
friend

Definition at line 53 of file qgeocodingmanagerengine.h.


The documentation for this class was generated from the following files: